WordPress:固定ページが404エラーになってしまった

404エラー ページが見つかりませんでした WordPress
スポンサーリンク

WordPressの固定ページが404エラーで表示されない問題の対処方法

原因は、パーマリンクを変更したりなにがしかのプラグインをインストールすると固定ページが「404 file not found. ページが見つかりませんでした」となってしまう場合があります。

.htaccessのリライトルールに問題があるか、そもそも.htaccessが存在しないか。

とはいえ、かなり簡単に問題を解決できるので、その方法をお知らせしますね。

パーマリンクを再設定する

最初にやってみるべきことは、パーマリンクを設定し直すこと。

ダッシュボード>[設定]>[パーマリンク設定]と進みます。

パーマリンクの設定は変更せずに、画面一番下にある[変更を保存]ボタンをクリックします。

たったこれだけでパーマリンクを再設定することができ、かつ、.htaccessのリライトルールも書き換えることができます。

パーマリンクの[変更を保存]をクリックすると…
.htaccessがサーバ内の所定の場所に存在しない場合は新たに.htaccessが作られる
.htaccessがすでに存在している場合には、変更内容を更新できる

404エラーで表示されなかった固定ページにアクセスしてみてください。
きっと表示されているはずです。

それでも問題が解決しないという場合は、何らかの原因で.htaccessファイルの更新ができていないということです。
.htaccessを直接編集しましょう!

それでもだめなら.htaccessを直接編集する

もしもパーマリンクを再設定しても問題が解決しない場合は、.htaccessを直接編集しましょう。

WordPressをインストールしたフォルダ内の.htaccessを以下のように書き換えます。

サーバのルートにWordPressをインストールした場合

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

RewriteBase /
RewriteRule . /index.php [L]
リダイレクトのベースとなるディレクトリがルートであることを明示的に指定します。

サーバ内に設定したディレクトリにWordPressをインストールした場合

# BEGIN WordPress

RewriteEngine On
RewriteBase /サーバ内に設定したディレクトリ名/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /サーバ内に設定したディレクトリ名/index.php [L]

# END WordPress

RewriteBase /サーバ内に設定したディレクトリ名/
RewriteRule . /サーバ内に設定したディレクトリ名/index.php [L]
リダイレクトのベースとなるディレクトリがサーバ内に設定したディレクトリ名であることを明示的に指定します。

以上で問題は解決するはず♪

その他のWordPress 困った!のまとめもご参考になさってください。