对于刚刚接触Web开发的人,我只是注意到有一个响应标头,称为“ Content-Location”,它显示源文件(PHP)。现在,我检查了其他几个站点,它们没有在响应标题中显示此站点。我不知道这是因为我的.htaccess文件(使用生成器)构造不良,Web托管服务提供商,CloudFlare还是导致此问题显示的完全不同的原因。
我将发布.htaccess文件,以防万一:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
...
RewriteRule ^post/([^/]*)\.php$ /news?post=$1 [L]
...
RewriteRule ^([^\.]+)$ $1.php [NC,L]
因此,当转到https://example.com/news
时,它将在DevTools中显示以下内容:
...
content-encoding: br
content-location: news.php
content-type: text/html; charset=UTF-8
...
由于某种原因,它为除索引之外的所有页面执行此操作。我不希望这些响应标题显示在任何地方。如果有人可以尝试帮助我,将不胜感激。
编辑
因此,我尝试访问https://example.com/news.php
,然后没有显示“ Content-Location”。因此,这可能与我当前的.htaccess
设置有关。
答案 0 :(得分:0)
经过数小时的反复试验,我找到了解决方案,在我的.htaccess
文件中添加了以下几行
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>