オリジナルエラーページの作成
せっかくの自前サーバで、やりたい事が自由にやれる環境にあるので、エラーページも自分の好みで変えてしまいましょう。
これは、せっかく見に来てくれた方を迷わせない為にも大変有効な手段だと考えます。
ページ内コンテンツ一覧
先ず、ここで言う「エラーページ」とは、下図に示すページの事を言います。
図A2-001 デフォルトのエラーページ
これを、下図の様にオリジナルにします。
図A2-002 オリジナルのエラーページ
いかがでしょうか?
デフォルトのエラーページが味気無いのに対し、オリジナルの方が良くないですか?
当サイトのエラーページは http://www.miloweb.net/xxx で実際に見れますので、お試し下さい。
当サイトのエラーページは、SSI を用い、エラー元になった URL を表示させている事にご注目下さい。
SSI を利用すれば、簡単に実現できますので、「やってみたい」という方は SSI が動作出来る様、Apache を設定して下さい。
SSI の設定に関しては、Apache で SSI の設定 をご覧下さい。
もちろん、HTML のみでもエラーページの作成は可能です。
では早速、オリジナルのエラーページを表示させるべく、Apache の設定ファイルである「 httpd.conf 」を編集します。
httpd.conf の870行目付近に以下の記述があるので、適宜編集します。
#
# Customizable error response (Apache style)
# these come in three flavors
#
ErrorDocument 403 /error/403.shtml
ErrorDocument 404 /error/404.shtml
ErrorDocument 500 /error/500.shtml
上記「 ErrorDocument 」の行(この場合3行)を追加します。
書式は、「 ErrorDocument エラーコード 表示するエラーページ 」になります。
表示するエラーページ は、ドキュメントルートから見たパスになりますので、ご注意下さい。
(この場合は、ドキュメントルートに「 error 」という名のディレクトリがあり、その中に「 403.shtml 」などのエラーページが格納されている事を示しています。)
編集が終えたら Apache を再起動します。
そして、エラーコード に関して、代表的なエラーコードとその意味を以下に示します。
エラーコード | メッセージ | 意味 |
401 | Authorization Required | 認証に失敗しました |
403 | Forbidden | アクセス権限がありません |
404 | Not Found | 該当のページが見つかりません |
500 | Internal Server Error | 内部サーバエラー (大抵の場合が CGI のエラー) |
では次に、実際のエラーページを作成します。
当サイトでは、エラーコードをそのままファイル名としています。
エラーページの内容はご自由に作成して頂いて結構ですが、以下のポイントを盛り込んでおくと便利じゃないかな?と思います。
当サイトでエラーページに SSI を使用している最大の理由は「エラーとなった URL の表示」です。
これは、エラーページ内に以下の記述を追加する事で簡単に実現可能です。
( これは SSI を利用しているので、ファイルの拡張子にご注意下さい。 )
http://<!--#echo var="SERVER_NAME" --><!--#echo var="REQUEST_URI" -->
これで、アクセスしようとしたページの URL が返ります。