MAMP 7以降でWordPressサイトの下層ページが404 Not Found エラーとなる問題の解決方法

ローカルにWebサーバやPHP、MySQLといった開発環境が手軽に構築できるMAMPは、WordPressのテスト環境やテーマ開発、またWordPressだけでなくPHPスクリプトの学習などでも利用されている方も多いでしょう。
ローカル開発環境として初めてMAMPを利用する場合や、既存のMAMPをバージョンアップして利用する場合など、さまざまなケースがありますが、MAMP 7以降の開発環境でWordPressのパーマリンク設定を変更すると、下層ページが404 Not Found エラーとなる問題が発生します。
ちなみに、SEO的にも推奨されているWordPressのパーマリンクの設定は、投稿名の「/%postname%」やカテゴリー分けして投稿している場合「/%category%/%postname%」とするのがおすすめとなっています。
パーマリンクの設定を変更してテスト開発、テーマ開発、またWordPressの学習を進めていく中、MAMPの環境で404 Not Found エラーで開発や学習が止まってしまうのは悩ましいところです。
ここでは、MAMP 7以降でWordPressサイトの下層ページが404 Not Found エラーとなる問題の解決方法についてご紹介します。
MAMP環境の確認
パーマリンク設定でURLが変更されるということを考えると、MAMPの環境でmod_rewriteが有効であるかどうかを確認する必要があります。
mod_rewriteとは、Apacheで利用されているモジュールで、URLの書き換えやリダイレクト処理を行うものです。
WordPressでは、mod_rewriteモジュールが利用できないと、下層ページ等で404 Not Found エラーとなってしまいます。
MAMP 7以降のApacheでは、デフォルトでmod_rewriteモジュールが有効になっていません。
WordPressのパーマリンク設定に対応するには、MAMPの環境でmod_rewriteモジュールを有効にする必要があります。
そこで、「httpd.conf」というMAMPの設定ファイルを編集していきます。
httpd.confファイルの編集
httpd.confファイルは、WebサーバのApacheの設定ファイルで、httpd.confを編集することで、MAMP内のApacheの動作をカスタマイズすることができます。
httpd.confファイルは、MAMP のインストール先にある「/Applications/MAMP/conf/apache/httpd.conf」にあります。

httpd.confファイルをコードエディタ(またはテキストエディタ)で開きます。
「LoadModule rewrite_module modules/mod_rewrite.so」の記述部分がコメントされているので、先頭の「#」を削除してコメントを外します。
変更前
# LoadModule rewrite_module modules/mod_rewrite.so
変更後
LoadModule rewrite_module modules/mod_rewrite.so

コメントを解除しましたら、ファイルを保存してMAMPを再起動します。
これで、mod_rewriteモジュールがMAMP環境で利用でき、WordPressのパーマリンク変更時のNot Found問題が解決します。
余談
現在、多くのレンタルサーバではWordPressに対応しており、mod_rewriteモジュールも利用できる状態でありますが、共有サーバではなくVPSといった管理者権限を持って運用する専用サーバをお使いになる場合、実際にWordPressサイトを公開する際、ご自身で「.htaccess」というファイルに、Apacheサーバのmod_rewriteモジュールを有効にする処理を記述する必要もあります。
URLの書き換えやリダイレクト処理など、mod_rewriteモジュールがURLに関わってくるものだと知っておくと、もしそのようなことに遭遇しても解決することができるでしょう。