エラーメッセージを書き換えたい

それでは、 .htaccess ファイルを作ってみましょう。

作成は「メモ帳」などのテキストエディタで非常に簡単にできます。

エラードキュメントの記述例
メモ帳を使っての作成例

記述する内容は非常にシンプルで、次のような形式になります。

ErrorDocument (コード) (HTMLファイル名)

ステータスコード

次に、404 や 401 などのステータスコードについてご紹介致しましょう。ステータスコードとは、サーバがクライアント(ブラウザなど)からのリクエストに対して返す番号のことです。そのうち、.htaccess ファイルを使って、独自のメッセージに変更が可能なのは、400番台(クライアントエラー)・500番台(サーバエラー)のエラーです。

ここでは、代表的なものをご紹介致します。

◆401 Unauthorized (非許可)
401 Unauthorized 画面 認証に失敗した場合に表示されるエラーです。

右図は一般的なデフォルトのメッセージで、「 Authorization Required 」(許可が必要)と表示されています。



◆403 Forbidden (アクセス拒否)
403 Forbidden画面 アクセスが許可されていないページを表示させようとした場合などに表示されるエラーです。

index.htmlがないディレクトリを表示させようとした場合などによく表示されます。

※ディレクトリのファイル一覧を表示しない設定にしてある場合。



◆404 Not Found (ファイルなし)
404 Not Found画面 存在しないURLを指定した場合に表示されるエラーです。最もよく遭遇するエラーでしょうね。



◆500 Internal Server Error (サーバ内部エラー)
500 Internal Server Error画面 サーバ内部で問題が起きた際に表示されるエラーです。

CGIスクリプトに問題があって正しく実行できなかった場合などに表示されます。

また、 .htaccess ファイルの記述内容に問題があった際にも、このエラーが表示されます。


上記のサンプル図は、どれも、Netscape Navigator 7 を用いて表示した場合のものです。Internet Explorer の場合は、右図のように一部のエラーメッセージが日本語化されて表示されます。

(右図は、403 Forbidden の場合の表示)
IEの403 Forbidden画面
※今回ご紹介する方法でエラーメッセージを独自のものに変えれば、Internet Explorer でも(IE独自の日本語化されたメッセージではなく)独自のメッセージが表示できます。これらのエラーメッセージを、独自のものに書き換えるには、次のように記述します。

ErrorDocument 401 /unauthorized.html
ErrorDocument 403 /forbidden.html
ErrorDocument 404 /notfound.html
ErrorDocument 500 /intseverr.html

ご紹介した記述方法に従って、1行ずつ必要なだけ列挙します。※多くの場合、404 だけ用意していれば十分でしょう。ディレクトリ内のファイル一覧を表示させない設定になっているなら 403 も用意すると良いでしょう。

また、認証を使用している場合は401を、CGIなどを利用しているなら 500 も用意すると良いでしょう。用意しなかったエラーは、従来通りデフォルトのメッセージが表示されますので、すべてのメッセージ分を用意する必要はありません。

ErrorDocument 404 /bar/error.html
ErrorDocument 404 http://www.foo.ne.jp/bar/error.html
ErrorDocument 404 "File not found"

Romote URL での指定の場合、サーバは、ステータスコード「404」を返しません。実は、リダイレクトステータスコードを返してしまいます。したがって、エラー表示用のページとして指定したURLが、ブラウザーのアドレスバーに表示されているはずです。( 1 行目のローカル URL での指定と、3 行目のカスタマイズメッセージの場合には、アクセスした URL が表示されたままです。) なお、3行目のカスタマイズメッセージの場合は、Internet Explorer だと表示されません

戻る


Webサイトを持とう

SEOアクセス向上

雑学

広告