オリジナルエラーページの作成
HTTPステータスコードとは、WEBサーバからのレスポンスを意味する3桁の数字です。
400番台の数字はクライアント側のエラーを意味し、500番台の数字はサーバ側のエラーを意味します。
一番よく見かけるHTTPステータスコードはおそらく404ではないかと思います。
404はリクエストしたページが見つからないときに返されるステータスコードです。デフォルトでは存在しないページにアクセスすると下図のようなページが出力されます。
このエラーページは、自分で自由にカスタマイズすることができます。
ここでは例としてドキュメントルート直下にerrorというディレクトリを作成し、その中に404エラーが発生したときに出力するページを作成してみます。
[root@centos ~]# vi /var/www/html/error/404.html <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head> <title>ページが見つかりませんでした。</title> </head> <body> <h1>ページが見つかりませんでした。</h1> <p>申し訳ございません。<br /> ご指定されたWEBページは存在しません。</p> <p><a href="http://linuxserver.jp/">トップページへ</a></p> </body> </html>
簡単ですが、これで一応オリジナルエラーページの作成は完了しました。
続いて設定ファイルに404エラーが起こったときに上記のページを出力するようにApacheの設定を変更します。
Apacheの設定
エラーページのカスタマイズを有効にするには、Apacheの設定ファイル内にErrorDocumentディレクティブを追加します。
[root@centos ~]# vi /etc/http/conf/http.conf Apacheの設定ファイルを開く ErrorDocument 404 /error/404.html ※1番目の引数にステータスコードを、2番目の引数にオリジナルエラーページへのパスをそれぞれ指定
上記のように、ファイルへのパスが絶対パスではない場合は、ドキュメントルートからの相対パスとなりますので、ご注意ください。
また、"http://linuxserver.jp/error/404.html"のようにURLで指定することも出来ます。
.htaccessを利用して同様の設定をすることも可能です。
上記でうまくいかない場合は、設定ファイルがデフォルトで"/error"のAliasを設定していて、ディレクトリのパスが変換されてしまっている場合があります。
[root@centos ~]# vi /etc/http/conf/http.conf Apacheの設定ファイルを開く #Alias /error/ "/var/www/error/" ※先頭に#をつけてコメント化し、Aliasを無効にする
Apacheを再起動すると、編集が反映されて404エラーの際はerror/404.htmlが出力されるようになります。
同じ要領で403や500などの他のエラーコードでも応用できます。

この記事へのコメント
まだコメントは投稿されていません。