内部的に運用しているWordPressサイトが、数ヶ月前から404のエラーで表示されてないまま放置してましたので、調べてみた。
今までの経験からして、パーマネントリンクを変更・修正して、404エラーになる場合は、
- .htaccessが書き込み不可になっている
- mod_rewriteが有効になっていない
- プラグインが悪さをしている
の項目を確認すると、おおよそ解決するのだが、問題のサイトは、ほぼ手を加えておらず、それまでは通常にパーマリンクも問題なく動作していた。
もちろん、mod_rewriteも読み込んでおり、.htaccessも書き換えが反映されている。
一点、気にかけたのは、問題のサイトはリバースプロクシでバーチャル設定を施してある点。
で、/etc/httpd/conf.d/vhosts/default.confを見てみると
<Directory “/var/www/html”>
DirectoryIndex index.php index.html
Options Indexes Includes ExecCGI FollowSymLinks
AllowOverride NONE
試しに、AllowOverrideをNONEからALLにしてみると、すんなり解決。
そう言えば、WordPress 3.1辺りから、こんな症状が起きてたので、設定が厳しくなってたのかな?
コメント