我网站上的所有网页都运行正常。但是他们会使用404
标题发送。
我有一个使用前端控制器模式的PHP网站。 .htaccess
具有将页面名称请求作为URL参数传递的标准代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+) index.php?filename=$1
在index.php
中,我抓住该网址参数并以这种方式使用它:
$_pagename = $_GET['filename'];
$content = "pages/" . $_pagename . ".php";
if (!file_exists($content)) {
header('HTTP/1.0 404 Not Found');
$content = "pages/404.php";
} else {
header('HTTP/1.0 202 Accepted');
}
请参阅,我甚至手动给它一个202
标题。 (这不应该是必要的!)
一切似乎都运转正常。正确加载$content
,不正确的页面正确传递404
。唯一奇怪的是所有页面都有404
标题!可能导致这种情况的原因是什么?