我在一个网站上。URL 类似于https://somesite.com/serve
我需要告诉为我服务的页面的名称。
比如index.html
,,index.htm
等等……
我在一个网站上。URL 类似于https://somesite.com/serve
我需要告诉为我服务的页面的名称。
比如index.html
,,index.htm
等等……
你根本不可能发现这一点。
您想知道正在提供的文件。很可能您正面临使用 htaccess 或其他技术重写 url。如果只有您设法获得制作页面的框架(如果它是框架),那么要判断哪个文件可能是不可能的。然后您可以阅读文档,该文档是请求所针对的文件。大多数框架都会有一个或几个这样的文件。例如 codeignighter 将只有 index.php,而 symfony 2 将有 app.php 和 app_dev.php(如果你想要不同的环境,还有其他的)。但是,如果进行了 url 重写,通常您无法知道哪个文件可以满足您的请求。
正如@Dale 所提到的,您也不能忘记网址所说的内容。因为您不能在最后添加一些扩展名以使其看起来像文件。有时您会注意到 .php 或更常见的 .html / .htm 结尾。
我不完全确定你的意思。但我确定您可以使用 $_SERVER 找到它(文档可以在此处找到)
祝你好运
如果您只是想找出页面名称,那么您可以这样做:
<?php
$currentFile = $_SERVER["PHP_SELF"];
$parts = explode('/', $currentFile);
echo $parts[count($parts) - 1];
?>
(假设服务器支持 .htaccess、mod_rewrite、mod_headers)
临时使用 .htaccess RewriteRule 显示标题中的所有或匹配的文件名。
示例使用文件名标记所有 php 文件头:
<IfModule mod_rewrite.c>
RewriteEngine on
<IfModule mod_headers.c>
RewriteRule .*\.php$ - [E=FILENAME:$0]
<FilesMatch ".php$">
Header set MY-COOL-FILENAME "filename=%{FILENAME}e"
</FilesMatch>
</IfModule>
</IfModule>
链接