[解決方法] WordPressでパーマリンク設定をデフォルト意外にしたら404エラーになった件

All in One SEOプラグインでXMLサイトマップを有効化する際、デフォルトのパーマリンク設定だとWarningが出て有効化ができなかった。

調べると以下のようなことが分かった。


  • パーマリンクの設定を変更すると、WordPressをインストールしたディレクトリ直下にある.htaccessが更新される。(参考


しかし、パーマリンクの設定を変更したあとで.htaccessを見ても、mod_rewriteの記述は追加されておらず、以下の記述のみだった...

# BEGIN WordPress

# END WordPress

これはmod_rewriteが有効化されていないということか! ということで、.htaccessに以下を記述してみて確認。これは、.htaccessのパス以下で存在しないページにアクセスしようとしたときに、mod_rewriteが有効だったらgoogleに飛ばすという記述。(参考

<IfModule mod_rewrite.c>
     ErrorDocument 404 http://www.google.co.jp/
</IfModule>

結果、googleに飛ばず、404エラーのまま。ということはやはりmod_rewriteが有効されてないということだ。

調べると、以下が判明。

  • httpd.confのAllowOverrideがNoneになっていることが原因かも。(参考

httpd.confの当該パスの設定のところで、AllowOverride None になっているのをAllowOverride All に修正してapacheを再起動すると、上記確認の方法にてgoogleに飛ばされるようになった。(mod_rewriteが有効化された)

で、WordPressのパーマリンクの設定を変更したところ、.htaccessの内容が更新されるようになり、無事404エラーが出なくなった。

XMLサイトマップの設定もできた。

ちゃんちゃん