はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> Webサーバ >> apache オリジナルエラーページの作成
動作確認 [ FC1 / FC2 / FC3 / FC4 / FC5 / FC6 / Fedora7 / Fedora8 / Fedora9 / Fedora10 / Fedora11 / Fedora12 / Fedora13 / Fedora14 / Fedora15 / Fedora16 / Fedora17 / CentOS4 / CentOS5 / CentOS6 ]
  1. apacheのエラーページとは・・・
    指定したページが存在しない時(Internet Explorer標準の場合)
    apache標準のエラー画面
  2. apache設定ファイルの変更
  3. オリジナルエラーページの作成
  4. オリジナルエラーページの確認
  5. apacheエラーコード一覧

■ apacheのエラーページとは・・・

apacheに限らず、ホームページを閲覧した時に、ページのリンク切れやサーバの無応答などでエラー画面を見たことがありませんか?
大抵は、使用しているブラウザ(Internet ExplorerやNetscape等)が該当する操作のメッセージを表示しますが、apacheのデフォルト状態では以下の様な画面が表示されます。
味気がないのでオリジナルのエラーページ画面を作る方法を紹介します。

■ 指定したページが存在しない時(Internet Explorer標準の場合)

■ apache標準のエラー画面

■ apache設定ファイルの変更

apache設定ファイルの変更
# vi /etc/httpd/conf/httpd.conf
Alias /error/ "/var/www/error/"

<IfModule mod_negotiation.c>
<IfModule mod_include.c>
    <Directory "/var/www/error">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority en es de fr
        ForceLanguagePriority Prefer Fallback
    </Directory>

以下がエラーページのドキュメント(htmlです。)
#    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
#    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
#    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
#    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
#    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
#    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
#    ErrorDocument 410 /error/HTTP_GONE.html.var
#    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
#    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
#    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
#    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
#    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
#    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
#    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
#    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
#    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
#    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
以下を追加します
エラーコード404(Not Found)をカスタマイズページに変更
    ErrorDocument 404 /error/404.html

■ オリジナルエラーページの作成

エラーコード404(Not Found)のカスタマイズページの作成
# vi /var/www/error/404.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
  <HEAD>
    <META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
    <META http-equiv="Content-Style-Type" content="text/css">
    <TITLE>ページが見つかりません</TITLE>
  </HEAD>
  <BODY>
    <CENTER><H3>指定されたページが見つかりませんでした。</H3>
    <H4>Error Code 404(HTTP_NOT_FOUND)</H4>
    <P>ページが削除されたか、リンク切れの可能性があります。<BR>
    または、入力したアドレスに間違いがある可能性があります。</P></CENTER>
    <CENTER>恐れ入りますが、下記のメールでご連絡下さい。
    <ADDRESS><A href="mailto:[email protected]">[email protected]</A></ADDRESS>
    </CENTER>
  </BODY>
</HTML>

■ オリジナルエラーページの確認

apacheの再起動
【FC1 から Fedora15 / CentOS4 / CentOS5 / CentOS6 の場合】
# /etc/rc.d/init.d/httpd restart

【Fedora16以降 の場合】
# systemctl restart httpd.service

カスタマイズしたエラーページが表示されるようになった。

■ apacheエラーコード一覧

Code apache Default File 意味
400 HTTP_BAD_REQUEST.html.var 要求されたコードを理解できません
401 HTTP_UNAUTHORIZED.html.var アクセスする権利があることを確証することができなかった
403 HTTP_FORBIDDEN.html.var 要求するディレクトリーにアクセスする為の許可がありません
404 HTTP_NOT_FOUND.html.var 要求されたファイルが見つかりません
405 HTTP_METHOD_NOT_ALLOWED.html.var 許可されていないメソッドを受け取りました
408 HTTP_REQUEST_TIME_OUT.html.var 指定された時間以内にリクエストを終えなかったのでネットワーク接続を閉じました
410 HTTP_GONE.html.var 要求されたURLはサーバ利用できず、転送先アドレスも理解できません
411 HTTP_LENGTH_REQUIRED.html.var Content-Lengthメソッドが不正です
412 HTTP_PRECONDITION_FAILED.html.var URLに対してリクエストの必要条件は、明確な評価に失敗しました
413 HTTP_REQUEST_ENTITY_TOO_LARGE.html.var 要求されたデータ量が容量限度を超えました
414 HTTP_REQUEST_URI_TOO_LARGE.html.var 要求されたURLの長さは、このサーバーの容量限度を超えた為、処理することができません
415 HTTP_UNSUPPORTED_MEDIA_TYPE.html.var サーバは、メディア・タイプがリクエストで送ったことをサポートしません
500 HTTP_INTERNAL_SERVER_ERROR.html.var サーバは内部エラーの為、要求を完了することができませんでした
501 HTTP_NOT_IMPLEMENTED.html.var サーバはリクエストを実行する為の必要な機能をサポートしていません
502 HTTP_BAD_GATEWAY.html.var ゲートウェイやプロキシとして動作しているサーバが、無効な応答を上位のサーバーから受け取りました
503 HTTP_SERVICE_UNAVAILABLE.html.var サーバが一時的な過負荷によるものか保守時間の為、要求を受け付けられませんでした
506 HTTP_VARIANT_ALSO_VARIES.html.var 要求するエンティティの値は、そのもの自体で交渉できるリソースです

■ コンテンツ関連

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.