0

如果找不到请求的页面,我将使用以下代码显示 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 not be found.</p>' . "\n";
}

echo $ui->top();
echo $o;
echo $ui->bottom();

但由于某种原因,我从来没有得到我的 404 状态码——它给出的是 200。我已经检查并仔细检查了 header() 之前没有实际的输出,当我检查 PHP 错误代码时,除了一些通知之外什么都没有。我还测试了一个位置标题,但它也不起作用。

有任何想法吗?

4

2 回答 2

1

正如 Jared 所说,对于 FastCGI,您必须使用另一种形式

header("Status: 404 Not Found");

我会从那里开始。

http://php.net/manual/en/function.header.php

于 2012-04-17T11:55:29.023 回答
0

好的,问题解决了 - 出于某种原因,文件与 BOM 一起保存。

于 2012-04-17T14:16:26.790 回答