MAMP WordPressのトップページ以外が表示されない

MAMPをバージョン7にアップデートしてから、挙動がおかしくなり、四苦八苦しています。

昨日は、トップページ以外が表示されないというトラブルに見舞われました。旧バージョンでは問題がなかったので、明らかにアップデートによるものです。

ネットでいろいろと調べてみると、昔からこのようなトラブルがあったようで、たくさんの情報が出てきます。そこで、ひとつひとつ潰していくことにしました。簡単に解決するものから順番に進めていきました。

STEP
ブラウザのキャッシュ(履歴)を削除

SWELLのテーマ更新の時もそうでしたが、意外とブラウザのキャッシュが悪さをしている、ということがあります。ブラウザのキャッシュ(履歴)を削除するだけなので、まずは試してみます。

結果は変わりませんでした。

STEP
パーマリンクの設定を更新

WordPressの設定>パーマリンクを開き、何もせずに「変更を保存」ボタンをクリックするだけです。

これもダメでした。

STEP
.htaccessを見直す

どうも、リンクが正しく読み込めていないようなので、設定がおかしいようです。いよいよ、WordPressのファイルを直接いじらないといけなくなったようです。

ファイルは、MAMP>htdocs>「サイトのフォルダ名」の直下にあります。ただし、隠しファイルなので、通常は見えません。Macの場合は、「command」+「shift」+「.」 で表示できます。CotEditorで開いてみます。

以下のようになっているかを確認したところ、問題がなさそうです。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /サイトのデータが入っているフォルダ名(htdocsの下のフォルダ名)/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /サイトのデータが入っているフォルダ名(htdocsの下のフォルダ名)/index.php [L]
</IfModule>

# END WordPress

ということは、.htaccessが読み込めていないのではないか、ということで、httpd.confの設定の確認に入ります。

STEP
httpd.confの見直し

ファイルは、MAMP>conf>abacheの直下にあります。

<Directory />
    Options Indexes FollowSymLinks
    AllowOverride None
</Directory>

AllowOverride の箇所が「None」になっていたので、「ALL」に修正しました。

<Directory />
    Options Indexes FollowSymLinks
    AllowOverride ALL
</Directory>

これでもダメでした。もうお手上げか、と思ったのですが、もうひとつ設定があるようです。

同じhttpd.confに、「LoadModule」の設定がズラッと並んでいる箇所があります。そこで、以下の記述を見付けました。何とコメントアウト(先頭に#が付いている!)されているではありませんか。

#LoadModule rewrite_module modules/mod_rewrite.so

このコメントアウトを外したら、無事解決しました。まったく、余計なことをしてくれたもんです。

LoadModule rewrite_module modules/mod_rewrite.so
目次