1

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

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

比如index.html,,index.htm等等……

4

6 回答 6

4

你根本不可能发现这一点。

于 2012-04-17T23:00:18.447 回答
1

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


正如@Dale 所提到的,您也不能忘记网址所说的内容。因为您不能在最后添加一些扩展名以使其看起来像文件。有时您会注意到 .php 或更常见的 .html / .htm 结尾。

于 2012-04-17T23:08:49.467 回答
0

我不完全确定你的意思。但我确定您可以使用 $_SERVER 找到它(文档可以在此处找到)

祝你好运

于 2012-04-17T23:01:07.760 回答
0

如果您只是想找出页面名称,那么您可以这样做:

<?php
$currentFile = $_SERVER["PHP_SELF"];
$parts = explode('/', $currentFile);
echo $parts[count($parts) - 1];
?>
于 2012-04-17T23:01:32.977 回答
0

可能你有一个带有重写规则的.htaccess ,它看起来像:

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

否则,您可能会使用查询字符串,它可能看起来像:

index.php?c=products&m=view&id=345
于 2012-04-17T23:05:43.040 回答
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>

链接

使用 htaccess 在标头中设置文件名

在 Google Chrome 中查看 HTTP 标头?

于 2019-03-26T03:07:44.657 回答