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 に答える