MAMPをバージョン7にアップデートしてから、挙動がおかしくなり、四苦八苦しています。
昨日は、トップページ以外が表示されないというトラブルに見舞われました。旧バージョンでは問題がなかったので、明らかにアップデートによるものです。
ネットでいろいろと調べてみると、昔からこのようなトラブルがあったようで、たくさんの情報が出てきます。そこで、ひとつひとつ潰していくことにしました。簡単に解決するものから順番に進めていきました。
SWELLのテーマ更新の時もそうでしたが、意外とブラウザのキャッシュが悪さをしている、ということがあります。ブラウザのキャッシュ(履歴)を削除するだけなので、まずは試してみます。
結果は変わりませんでした。
WordPressの設定>パーマリンクを開き、何もせずに「変更を保存」ボタンをクリックするだけです。
これもダメでした。
どうも、リンクが正しく読み込めていないようなので、設定がおかしいようです。いよいよ、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の設定の確認に入ります。
ファイルは、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