- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpで404エラーページが表示されません)
phpで404エラーページが表示されません
このQ&Aのポイント
- 現在利用中のサーバ上で存在しないファイルをブラウザからアクセスすると、「Not Found The requested URL was not found on this server.」とエラーページが表示されます。
- 上記と同様のエラーページをアクセスの条件によって出力するためにphpスクリプトでheader('HTTP/1.0 404 Not Found');と記述していますが、空白のページしか表示されません。
- header~の前に何かを出力している等などのエラーや警告が発生していないことは確認してあります。また、404ステータスが正常に返却されていることもheader情報のキャプチャで確認しています。カスタムエラーの設定も特にしていません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
headerを出力した後にテキストかHTMLで「Not Found The requested URL was not found on this server.」という文章を出力する必要があります。 Webサーバ(Apache等)が404エラーを出力する際は、HTTPレスポンスのボディ部にデフォルトのエラーメッセージかカスタムエラーのメッセージを付加してくれますが、PHPで404エラーのヘッダーを出力してもWebサーバのデフォルトエラーメッセージは付加してくれませんので、PHPのプログラムでエラーメッセージを出力してあげましょう。
その他の回答 (1)
- agunuz
- ベストアンサー率65% (288/438)
回答No.2
お使いのサーバあに合わせてエラーメッセージを返してください。404だけ返せばいいというわけではありません。 <?php header('HTTP/1.1 404 Not Found'); ?> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL <?=$__SERVER['REQUEST_URI']; ?> was not found on this server.</p> <hr> <address>Apache/2.x.xx (OS) PHP/5.4.x Server at ホスト名 Port ポート番号</address> </body></html>
お礼
お教え頂いた内容で期待通りの結果を得られました。 早々にありがとうございました。