PHP:给出一个404不';行不通
如果找不到请求的页面,我将使用以下代码显示404:PHP:给出一个404不';行不通,php,http-headers,http-status-code-404,Php,Http Headers,Http Status Code 404,如果找不到请求的页面,我将使用以下代码显示404: if($page_exists) { //... } else { header('HTTP/1.0 404 Not Found', true, 404); $ui->title = '404 Not Found'; $o .= '<h1>Not found!</h1>' . "\n"; $o .= '<p>The requested page could n
if($page_exists)
{
//...
}
else
{
header('HTTP/1.0 404 Not Found', true, 404);
$ui->title = '404 Not Found';
$o .= '<h1>Not found!</h1>' . "\n";
$o .= '<p>The requested page could not be found.</p>' . "\n";
}
echo $ui->top();
echo $o;
echo $ui->bottom();
如果($page\u存在)
{
//...
}
其他的
{
标头('HTTP/1.0 404未找到',true,404);
$ui->title='404未找到';
$o.=“未找到!”。“\n”;
$o.='找不到请求的页面。。“\n”;
}
echo$ui->top();
echo$o;
echo$ui->bottom();
但由于某些原因,我从来没有得到我的404状态码-它给出了一个200。我已经检查并再次检查了header()之前是否没有实际输出,当我检查PHP错误代码时,除了一些注意事项之外没有其他内容。我还测试了一个位置头,但它也不起作用
有什么想法吗?正如Jared所说,对于FastCGI,您必须使用另一种形式
标题(“状态:404未找到”)代码>
我会从那里开始
好的,问题解决了-出于某种原因,文件与BOM一起保存。您是否尝试过使用HTTP/1.1
?FastCGI?尝试状态:404未找到您正在使用的Web服务器?你用的是哪种SAPI?您是否有联机URI示例?将硬编码的HTTP/1.0
替换为$\u SERVER['SERVER\u PROTOCOL']
,然后查看它的帮助。HTTP/1.0是在恐龙时代使用的。我使用的是Apache服务器。我尝试了HTTP/1.1,但没有成功,事实上,只要我在header()中使用$HTTP\u response\u code参数,就不会有太大区别。