2026年7月6日
2026年7月6日
WordPressのmod_rewriteが機能しない場合の解決
はじめに
WordPressを使用する際、美しいURLやカスタム投稿タイプのルートパスを有効にするためにmod_rewriteが必要となります。しかし、この設定が正しく行われていないと、期待した通りに動作しないことがあります。本記事では、そのような状況における問題解決方法を解説します。
症状・背景
このテーマが必要になる主な場面:
- ワードプレスの設定で「美しいURL」が有効になっているが、リダイレクトや404エラーが発生する
- カスタム投稿タイプのルートパスが正しく機能しない
.htaccessファイルを編集しても期待した通りに動作しない
手順・設定方法
ステップ1: mod_rewriteモジュールを有効にする
# Apacheのモジュールリストを確認する
a2enmod rewrite
# 確認後、Apacheサービスを再起動して変更を適用する
systemctl restart apache2
ステップ2: .htaccessファイルの権限設定と書き込み可能にする
# WordPressインストールディレクトリに移動
cd /var/www/html/wordpress/
# .htaccessファイルが存在しない場合、WordPressが自動的に生成するための準備をする
touch .htaccess
# ファイル所有者を変更して書き込み可能にする
chown www-data:www-data .htaccess
chmod 644 .htaccess
ステップ3: サイトのドキュメントルート設定を確認する
# Apacheのサイト設定ファイルを編集
nano /etc/apache2/sites-available/000-default.conf
# <Directory>ブロック内に以下のように追加または修正する
<Directory /var/www/html/wordpress/>
AllowOverride All
</Directory>
# 変更後、Apacheサービスを再起動して変更を適用する
systemctl restart apache2
ステップ4: WordPressの設定を確認・調整
# ワードプレス管理画面にログインし、「設定」→「固定リンク」へ移動
# 「美しいURLの使用」が有効であることを確認する
# 必要であれば、カスタム投稿タイプやページルーティングの設定を確認・調整する
注意事項
- Apacheのバージョンによっては、
a2enmodコマンドが存在しない場合がある。その場合はモジュールのディレクトリ直下にシンボリックリンクを作成することで同様の効果を得ることができる。 .htaccessファイルを変更する際には必ずバックアップを取ること- サイト設定ファイルはそれぞれの環境によって異なる可能性があるので、適切なファイル名やパスを使用すること
まとめ
1. mod_rewriteモジュールを有効化: Apacheにmod_rewrite機能を追加します。
2. .htaccessファイルを適切に設定する: ファイルの権限と内容を確認し、必要であれば修正します。
3. Apacheの設定を調整する: 許可された設定を有効にするためのApache設定を変更します。
4. WordPress固定リンク設定を確認する: WordPressで美しいURLが適切に設定されていることを確認します。
関連記事: