WordPressで404 not foundがパーマリンク設定変更後に発生した時の対処法

WordPress

WordPressでパーマリンク設定を変更したら、下のような404 not foundのエラーが発生した場合の対処法をご説明します。

WordPress 404 not found

この現象は、パーマリンク設定で下のような「基本」を選んでいる場合は発生しません。

http://example.com/?p=123

httpd.confにてmod_rewriteが有効になっていないのが原因

自分の場合は、WEBサーバのソフトウェアのApacheの設定ファイル、httpd.confの中で、mod_rewriteが有効になっていないのが原因でした。

httpd.confはたいてい下のような場所にあります。

  • Mac の場合:/etc/apache2/httpd.conf
  • Windows の場合:C:¥xampp¥apache¥conf¥httpd.conf

サーバーでお使いの方は、サーバー管理者に問い合わせてみてください。

httpd.confを開いて編集します。Macの場合の手順で書かせて頂きますが、Windowsの方はメモ帳などのお好きなエディターで開いて頂き、同じように編集すれば大丈夫です。

ターミナルを開き、以下のように実行していきます。

1
$ sudo vim /etc/apache2/httpd.conf

エディターの検索機能で、mod_rewriteという文字列を検索します。

vimであれば、

1
/mod_rewrite

と入力しエンターを押すと、以下の行が見つかるはずです。

1
# LoadModule rewrite_module libexec/apache2/mod_rewrite.so

この行のコメントアウトを外します。(行頭の#を削除する)

1
LoadModule rewrite_module libexec/apache2/mod_rewrite.so

ファイルを保存したら、忘れずにApacheを再起動してください。

1
$ sudo apachectl restart

これでパーマリンク設定で「基本」以外を選択しても、正常に画面が表示されるはずです。

羊毛や小麦