2026年9月3日

2026年9月3日

WordPressでmod_rewriteが認識されない問題

はじめに

WordPressサイトで美しいURL(SEOフレンドリーなURL)を使用するためには、Apache Webサーバー上でmod_rewriteモジュールが正しく機能していることが必要です。しかし、このモジュールが認識されない場合や有効化されていない場合、サイトの表示に問題が生じることがあります。

症状・背景

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

  • WordPressで美しいURL(SEOフレンドリーなURL)を使用したいが、表示が正常に行われない
  • .htaccessファイルを編集しても設定が反映されない
  • ファイルの権限問題によってmod_rewriteモジュールが有効化できない
  • アクセス権限の変更が必要な場合

手順・設定方法

ステップ1: mod_rewriteモジュールを確認する

# Apacheサーバー上でmod_rewriteモジュールが有効かどうか確認します。
a2enmod rewrite

# 確認した結果、mod_rewriteモジュールが無効の場合に有効化します。

ステップ2: .htaccessファイルの編集と権限設定

# WordPressのインストールディレクトリにある.htaccessファイルを開きます。
vi /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>

# 保存した後、ファイルの所有者とグループを変更します。
chown www-data:www-data /var/www/html/wordpress/.htaccess

# .htaccessファイルの権限を適切に設定します。
chmod 644 /var/www/html/wordpress/.htaccess

ステップ3: Apacheの設定ファイルを編集してデフォルトディレクトリを有効にする

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

# 下記のようなコードを追加または修正します。
<Directory /var/www/html>
  AllowOverride All
</Directory>

# Apacheサーバーをリロードして変更を適用します。
systemctl reload apache2

ステップ4: デバッグとトラブルシューティング

# Apacheのエラーログファイルを開きます。
tail -f /var/log/apache2/error.log

# 特定のアクセスロギングを行う場合は、VirtualHost設定に以下のようなコードを追加します。
CustomLog ${APACHE_LOG_DIR}/access.log combined

注意事項

  • mod_rewriteモジュールが無効な場合や、.htaccessファイルが存在しない場合などは、WordPressの美しいURL機能が正常に動作しません。
  • .htaccessファイルの所有者と権限を適切に設定することで、アクセス制御の問題を解消できます。
  • ApacheのVirtualHost設定でAllowOverride Allが指定されていないと、.htaccessファイルによる変更は適用されません。

まとめ

1. mod_rewriteモジュールの確認: Apacheサーバー上でmod_rewriteモジュールが有効かどうか確認し、無効な場合は有効化します。

2. .htaccessファイルの編集と権限設定: .htaccessファイルに美しいURLを有効にするためのコードを追加し、適切な所有者と権限を設定します。

3. ApacheのVirtualHost設定: AllowOverride Allが指定されていることを確認し、デフォルトディレクトリの設定を変更します。

4. エラーログの確認: Apacheサーバーのエラーログファイルを確認して、mod_rewriteに関連する問題がないか調べます。

関連記事:

お気軽にご相談ください

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