如何判断哪个页面为我服务?

时间:2012-04-17 22:58:26

标签: php javascript browser dns

我在一个网站上。 URL的内容类似于https://somesite.com/serve

我需要告诉为我服务的网页的名称。

index.htmlindex.htm等......

6 个答案:

答案 0 :(得分:4)

根本不可能找到它。

答案 1 :(得分:1)

您想知道正在投放的文件。好吧,你可能正在使用htaccess或其他技术重写url。要告诉哪个文件可能是不可能的,只要你设法获得制作页面的框架(如果它是框架)。然后,您可以阅读文档,该文档是请求所针对的文件。大多数框架都有一个或几个这样的文件。例如,codeignighter将只有index.php,而symfony 2将有app.php和app_dev.php(如果你想要不同的环境,还有其他的)。但是,如果进行了网址重写,那么你无法知道哪个文件可以满足您的要求。


如上所述,@ Dale你也不能留下网址所说的内容。因为你不能在最后坚持一些扩展,因为它看起来像文件。有时您最后会注意到.php或更多.html / .htm。

答案 2 :(得分:0)

我不完全确定你的意思。但我确定你可以用$ _SERVER找到它(可以找到文档here

祝你好运

答案 3 :(得分:0)

如果你只想找到页面名称,那么你可以这样做:

<?php
$currentFile = $_SERVER["PHP_SELF"];
$parts = explode('/', $currentFile);
echo $parts[count($parts) - 1];
?>

答案 4 :(得分:0)

然后你可能会.htaccess rewrite rules看起来像这样:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

否则你可能会有查询字符串,而这可能看起来像:

index.php?c=products&m=view&id=345

答案 5 :(得分:0)

(假设服务器支持.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>

链接

Setting a filename inside the header with htaccess

View HTTP headers in Google Chrome?