2026年9月17日

2026年9月17日

WordPressのAllowOverrideが設定されていない問題

はじめに

ここでは、WordPressサイトでよく遭遇する「AllowOverrideが設定されていない」問題について解説します。このエラーは通常、Apacheウェブサーバーの設定ファイルであるhttpd.confやVirtualHost設定において、.htaccessファイルに対する設定を許可していない場合に発生します。

症状・背景

このテーマが必要になる主な場面:

  • .htaccessファイルへの変更が反映されない
  • WordPressサイトが403 Forbiddenエラーまたは404 Not Foundエラーページを表示する
  • リダイレクト設定(例: HTTPからHTTPSへのリダイレクト)が効かない
  • 永続的なURLの変更ができない

手順・設定方法

ステップ1: AllowOverrideを有効にする

# WordPressディレクトリへのアクセス権限を確認します。
sudo ls -l /var/www/html/wordpress/

# .htaccessの変更が反映されるようにAllowOverrideをAllに設定します。
sudo nano /etc/apache2/sites-available/000-default.conf

# 以下のようにVirtualHostブロック内に以下の行を追加または編集します。
<Directory /var/www/html/wordpress/>
    AllowOverride All
</Directory>

# Apacheの設定ファイルを保存し閉じます。

# サーバー設定を有効化してApacheを再起動します。
sudo a2enmod rewrite
sudo systemctl restart apache2

ステップ2: .htaccessに必要なコード追加

# WordPressのインストールディレクトリにある.htaccessファイルを開きます。
nano /var/www/html/wordpress/.htaccess

# 以下の内容を.htaccessファイルに追記します。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# ファイルを保存して閉じます。

ステップ3: SELinuxの設定変更(必要に応じて)

# SELinuxが有効な場合、以下のコマンドで.htaccessへのアクセス権限を確認します。
getsebool httpd_can_network_connect

# 必要であれば以下のようにSELinux設定を変更します。
setsebool -P httpd_can_network_connect 1

# サーバーの再起動を行います。
sudo systemctl restart apache2

ステップ4: 設定が反映されているか確認する

# ブラウザでWordPressサイトにアクセスし、設定が適切に行われていることを確認します。

# Apacheのエラー・ログを確認して問題がないかチェックします。
sudo tail -n 50 /var/log/apache2/error.log

注意事項

  • WordPressディレクトリへの書き込み権限があるユーザーでApache設定ファイルと.htaccessファイルを編集すること。
  • SELinuxが有効な場合、適切なアクセス制御リスト(ACL)やSELinuxポリシーの変更が必要になることがあります。
  • AllowOverride Allはセキュリティリスクを増大させる可能性があります。必要な最小限の設定に留めましょう。
  • Apacheの再起動時に既存のWebサイトが停止しないよう、適切なタイミングで行うことが重要です。

まとめ

1. AllowOverrideを確認: Apacheの設定ファイルでAllowOverride Allが設定されていることを確認します。

2. SELinuxの影響: SELinuxが有効な場合、アクセス権限やポリシーを調整する必要があります。

3. テスト: 変更後にサイトの動作を確認し、必要であればエラーログを確認して問題がないかチェックします。

4. 保守: 設定変更後の監視を行い、パフォーマンスとセキュリティを維持するために定期的な点検を行います。

関連記事:

お気軽にご相談ください

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