2026年7月28日

2026年7月28日

Apacheでカスタムエラーページを設定する方法

はじめに

Webサイトの利用者は、ページが見つからないなどのエラーページを見ることもあります。デフォルトではApacheサーバーは標準的なエラーメッセージを表示しますが、これらのメッセージはユーザビリティやブランドイメージの観点から必ずしも最適ではありません。カスタムエラーページを使用することで、サイトのデザインと統一性を保ちつつ、利用者に親切な情報を提供することが可能になります。

症状・背景

この記事は以下の場面で役立ちます:

  • サイト内のページが存在しない場合やアクセス権限がない場合など、エラーが発生したときに標準のApacheエラーページをカスタマイズしたい時
  • ユーザーにサイトのデザインと統一性を持たせたいとき
  • 訪問者が利用する際に、より有用な情報を提供したいとき

手順・設定方法

ステップ1: HTTPステータスコードの確認とカスタムエラーページの準備

# サイトのルートディレクトリに移動します。
cd /var/www/html/

# 403 Forbidden用のカスタムエラーページを作成します。
echo "<html><head><title>403 - アクセス権限なし</title></head><body><h1>ページへのアクセスが許可されていません。</h1><p>管理者にお問い合わせください。</p></body></html>" > error-403.html

# 404 Not Found用のカスタムエラーページを作成します。
echo "<html><head><title>404 - ページが見つかりません</title></head><body><h1>ページが見つかりませんでした。</h1><p>正しいURLを確認してください。</p><p><a href=\"/\">トップページに戻る</a></p></body></html>" > error-6.html

ステップ2: .htaccessファイルの編集

# .htaccessファイルを開きます。
nano .htaccess

# 403 Forbiddenエラー用にカスタムエラーページを設定します。
echo "ErrorDocument 403 /error-403.html" >> .htaccess

# 404 Not Foundエラー用にカスタムエラーページを設定します。
echo "ErrorDocument 404 /error-6.html" >> .htaccess

ステップ3: Apacheの設定ファイルを編集してカスタムエラーページをサーバー全体で使用するように設定

# メインのApache設定ファイルを開きます。
sudo nano /etc/apache2/sites-available/000-default.conf

# 以下のようにカスタムエラーページのディレクティブを追加します。
<Directory "/var/www/html">
    ErrorDocument 403 /error-403.html
    ErrorDocument 404 /error-6.html
</Directory>

ステップ4: Apache設定を反映させる

# Apacheの設定を再読み込みします。
sudo systemctl reload apache2

注意事項

  • カスタムエラーページは、利用者の体験を改善する一方で、サイト全体の可用性やセキュリティを悪化させないように注意が必要です。例えば、403 Forbiddenページでは管理者への問い合わせ先を明示的に記載することは可能ですが、具体的なパスワード情報など敏感な情報を含めないようにしましょう。
  • ファイル名は大文字と小文字の区別がつきますので、ファイル名を正確に指定するようにしてください。
  • カスタムエラーページはサイト全体で適用されるため、特定のディレクトリやサブドメインでのみ有効にする場合はそれに適した設定が必要です。

まとめ

1. HTTPステータスコード: 各種HTTPステータスコードに対応するカスタムエラーページを作成し、必要な情報を含めることが重要です。

2. .htaccessファイル: ファイル内でエラー文書を指定することで、個々のディレクトリでカスタムエラーページを使用できます。

3. Apache設定ファイル: サーバー全体でのカスタムエラーページの使用を定義します。ここでは特定のディレクトリやサブドメインでのみ適用したい場合に役立ちます。

4. 再読み込み: Apache設定ファイルが変更された後は、サーバー設定を再読み込みして変更を反映させる必要があります。

5. 利用者への情報提供: カスタムエラーページでは、利用者が次にどうするべきか明確な指示を与えることが重要です。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ