プロが教えるわが家の防犯対策術!

<? header("HTTP/1.0 404 Not Found"); ?>

上のようにheader()関数にステータスコード404を埋め込んで、ブラウザに404エラーを返すだけのスクリプトを書きました。上記1行がファイルの全内容です。

複数のパソコンからテストをしたのですが、このファイルにアクセスすると、IE7では「HTTP 404 not found/Web ページがみつかりません」というページが正常に表示されますが、Firefox2では全くのブランクページが表示されてしまいます。

header()の前に空白文字はなく、以下のような記述も試しましたが結果は同じでした。でたらめなURLにアクセスすると、not foundはちゃんと表示されます。

<? header("Not Found", true, 404); ?>

Firefox2でPHPスクリプトからのステータスコード404をヘッダーで受けて「404 not Found」のページを表示させたいのですが、どうすればよいのでしょうか。

よろしくお願いいたします。

A 回答 (1件)

???


IEが表示するのは そのステータス用に「内部的に用意されたHTML」を表示してるだけだよ?
firefoxにはそれが無いだけで受けた物(この場合null)はHTMLだろうとtxtだろうと何も出してないなら非表示になるのはむしろ正しい動きだと思うよ?
404は、通常はサーバ側が必要に応じてエラーページを吐かないとならない。
でなければサーバプログラム側でカスタムエラーページなんて設定、存在しない事になるからね。
    • good
    • 0
この回答へのお礼

404エラーをFirefoxがヘッダーで受けても真っ白な画面になることがむしろ「正しい動き」とのご回答ありがとうございました。

FirefoxにもIEのように標準的な404エラーページが用意されているものだと勝手に思いこんでました。カスタムエラーページを作成することにします。ありがとうございました!

お礼日時:2008/06/04 17:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!