403 ErrorDocument, 404 Error Not Found, 500 Internal Server Error などの HTTPステータスのエラー発生時のメッセージを自作(オリジナル)のメッセージが書かれたファイルで表示するように設定する方法(ErrorDocumentディレクティブ)を紹介します。
ErrorDocument 403 http://w3g.jp/403 ErrorDocument 404 http://w3g.jp/404 ErrorDocument 500 http://w3g.jp/500
検索エンジンやリンク集からリンク先へアクセスした際に、ファイルが移動されていたり、ドメイン変更などでウェブサイトが移転、または閉鎖されていたりなどでイメージのような(Internet Explorer の場合)メッセージが表示されるページに誘導されることがあります。このメッセージが表示された場合、せっかく訪問してくれたユーザーは、すぐに元の検索結果のページやリンク集のページに戻っていってあなたのウェブサイトから去っていってしまうことでしょう。
しかし、エラーメッセージを自作して、オリジナルのエラーメッセージを表示する方法を取ることで、エラーが表示される理由をうまくユーザーに伝えることができれば、別ルートへ案内してユーザーが探している情報へと誘導することができるかもしれません。
分散設定ファイルである .htaccess において自作のエラーメッセージの表示が有効なのは 4xx(クライアントエラー)系や 5xx(サーバエラー)系のステータスコード(403 ErrorDocument, 404 Error Not Found, 500 Internal Server Error など)のみです。設定方法は、.htaccess ファイルに ErrorDocumentディレクティブに続いてステータスコードを記述し、半角スペースを空けてオリジナルのエラーメッセージとして表示するファイルの URI やメッセージを指定します。表示したいファイルの URI は相対URI, 絶対URI のどちらの指定でも可能です。代表的なステータスコードには次の3つがあります。
403404500各ステータスコードの数字のリンク部分が当サイトにおける自作メッセージとなっています。こちらも参考にしてください。
ErroDocument ステータスコード [ URI | "メッセージ" ]
ErroDocumentディレクティブに続いて、最初の値に 403, 404, 500 などのステータスコードを記述します。そして、半角スペースを空けて、そのステータスコードに該当するエラーが起こった場合に表示する URI のファイル、またはメッセージを指定します。URI ではなく、直接、指定のメッセージを表示させる場合は、文字列にスペースを含むのであれば、ダブルクォーテーション(")で囲みます。日本語の指定も可能ですが、.htaccess を保存する際の文字コードに注意してください。 たとえば、当サイトが利用している xrea.com では、.htaccess ファイルを保存する文字コードが Shift_JIS 以外では文字化けするようです。また、ユーザーの環境によっても日本語は問題を起こすことが多いようなので、なるべく半角英数字だけを使ってエラー内容を案内できるように英語あたりを使っておくのが無難です。