Presented by Nishishi via Movable Type. Last Updated: 2007/11/04. 04:37:23.

エラーページのステータスコードは?

Not Found カスタマイズエラーページ存在しないURLにアクセスされた際に、ウェブサーバ標準のエラーメッセージじゃなくて、独自のエラーページを表示させているサイトがたくさんあります。「404 Not Found」と表示されるだけのエラーページよりも、アクセス者向けにサイトマップ的な内容とかを掲載したページを表示させる方が、外部サイトから飛んできたアクセス者にとって(たぶん)便利ですから。

ただ、どうやら「Not Found」という旨のエラーページを表示させておきながら、HTTPステータスコードは200を返しているウェブサイトも結構あるらしいです。「Not Found」なら、ステータスコードも404を返さないといけません。そうしないと、検索エンジンなどに「Not Found」である旨が伝わりませんから。

誤った404エラーページをつくるただ1つの方法(@404 Blog Not Found)
200 Blog Not Found(@404 Blog Not Found)
ステータス200なのに「その商品はありません」(@Web屋のネタ帳)
... via www.textfile.org

さて、私のウェブサイトも、エラーページは独自ページにカスタマイズしてあります。
果たして、ステータスコードはちゃんと404を返せているのか?……と思ってNot FoundページのHTTPレスポンスヘッダを調べてみました。

Date: Fri, 30 Mar 2007 14:08:00 GMT
Server: Apache/1.3.37 (Unix)
Keep-Alive: timeout=3, max=7
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
404 Not Found

FirefoxのWeb Developerツールバーで調べたところ、上記のように表示されました。
どうやら、ちゃんと404を返せているようです。

まあ、よく考えたら当たり前で、「Not Found」エラーページのカスタマイズは、Apacheの設定ファイルである「.htaccess」ファイルに、次のような感じで記述してるだけなんですよね。

ErrorDocument 404 /errordocs/notfound.html

404エラー時のメッセージを「notfound.html」に置き換える指定なのだから、当然、ステータスコードは404ですよね。(^_^;)
「.htaccess」ファイルに書くだけの場合は、何も心配しなくて良さそうです。

CGIとかサーバサイドのプログラムを使ってページを生成している場合で、Not Foundエラーページも生成するときは、気をつけて404を返すように作らないといけません。
…ということですね。

この日記へのコメントはお気軽に! コメント数:0 トラックバック数:0

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

投稿後、投稿できていないように見えることがあります。ブラウザのキャッシュが読まれているだけですので、ページを再読込すれば(=たいてい[F5]キーを押せば)投稿内容が反映されていることが確認できるはずです。連続投稿を試す前にご確認下さい。(^^;)

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)