22時47分16秒 [Web関連]
存在しない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」ファイルに、次のような感じで記述してるだけなんですよね。
404エラー時のメッセージを「notfound.html」に置き換える指定なのだから、当然、ステータスコードは404ですよね。(^_^;)
「.htaccess」ファイルに書くだけの場合は、何も心配しなくて良さそうです。
CGIとかサーバサイドのプログラムを使ってページを生成している場合で、Not Foundエラーページも生成するときは、気をつけて404を返すように作らないといけません。
…ということですね。
この日記へのコメントはお気軽に! コメント数:0件
コメント数: 0件