WordPressのパーマリンク設定を変えた後にホームページ以外のページで404が発生したことがありますか?
自分でWordPressをセットアップしたときに起きやすい問題なので、WordPressのこの問題に困っている方はこの方法を試してみましょう!
原因
パーマリンク設定を基本以外にしている
パーマリンクを基本以外にするとこの問題が発生する可能性が高まります。
ウェブサーバーのmod_rewriteモジュールが有効になっていない
mod_rewriteモジュールは、URLの書き換え・リダイレクトを行ってくれるモジュールです。
Apache (httpd)のコンフィグでこのモジュールが有効になっていないと、mod_rewriteモジュールをWordPressが読み込むことができないため、この問題が発生します。
URLの書き換え・リダイレクトを設定で許可していない
Apache (httpd)のコンフィグでURLの書き換え・リダイレクトが許可されていないと、この問題が発生します。
Apache (httpd)のコンフィグのAllowOverride設定を変えることで解決します。
解決方法
ウェブサーバーのmod_rewriteモジュールを有効にする
Apache (httpd)のコンフィグファイルを開き、下記のコンフィグがコメントアウトされているか、存在しない場合は下記のコンフィグのコメントアウトを解除するか、追加してください。
# コンフィグ
LoadModule rewrite_module modules/mod_rewrite.so
(#が書いてあるところは追加しなくてもOKです)
URLの書き換え・リダイレクトを許可する
ウェブサーバーのmod_rewriteモジュールを有効にしていてもこの問題が発生する場合は、URLの書き換え・リダイレクトを許可する設定をしてみてください。
Apache (httpd)のコンフィグにある下記のコンフィグが存在するかを確認します。
AllowOverride All
このコンフィグがない場合は、下記のコンフィグを上のコンフィグに置き換えてください。
AllowOverride None
最後に
この投稿で404が発生する問題が解決しましたか?
ちなみにですが、この設定をすることでApacheの404ページが表示されなくなります。
(変わりにWordPressの404ページが表示されます)
もし皆さんのお役に立てたなら幸いです!