2009-08-07 10 views

答えて

18

ヘッダーは、Apacheに404ページを表示するように指示するものではありません。むしろ、の場合、 Apacheがその404ページを表示すると、404ヘッダーも一緒に送信されます。ヘッダーは、サーバーではなくブラウザの意味を持ちます。表示する適切なファイルが見つからない場合、Apacheは404を表示します。 PHPスクリプトを使用しているので、Apacheはすでに表示できるファイルを見つけているため、404ページは表示されません。

7

PHPによって送信されたヘッダーは、この場合は実際にブラウザにのみ関係します。 Apacheはすでにページを処理しているため、独自のページを作成することはありません。また、何かを送信した場合は、2つが衝突します。

はい、 .htaccessファイルは、あなたのルールはApacheが、それはもはや 404エラーを持っていないと思わせるので、それが表示するページを発見したため、エラーページを示すからのApacheを停止する予定です。

ヘッダーを送信することは実際には「ステータスメッセージ」のみであり、ブラウザまたはサーバーに特定のページを表示させることはありません。 (ほとんどのブラウザがそうですが)。

Davがコメントで指摘したように、独自のカスタムエラーページに404エラーを送信する必要があります。

+2

私は自分自身の "ページが見つかりません"ページにリダイレクトする必要がありますか? –

+4

はい、そういうメッセージを表示したいのなら、それは一般的にPHPアプリケーションの動作です。 – Amber

+1

リダイレクトしないでください。スペルミスを修正するのがずっと難しくなります。ただ404ページを提供し、それを完了しました。 – TRiG

関連する問題