WordPressのサイトをさくらインターネットからConoHa WINGへの引っ越しした後に、引っ越し後のサイトがTOPページはちゃんと表示されるのに、リンク先の子ページが全て表示されず、404エラーとなってしまったケースが何件もありました。
最初は、ワードプレスの管理画面を確認しながら、あちこち開いているうちに、いつの間にか解消されるケースもあり、子ページが表示されず404エラーとなる原因が全く分からなかったのですが、その原因と対策方法がバッチリ分かったので、紹介します。
原因は2つありました。
1つは、「パーマリンク」の設定でした。
管理画面の「設定」ー「パーマリンク設定」を開きます。
そして、何も変更せずに「変更を保存」ボタンを押します。
なんと、たったこれだけで、404エラーが解消されて、引っ越し前のように全ページがちゃんと表示されるようになりました。
で、これは、どうやら、引越しに使ったプラグイン「All-in-One WP Migration」が原因のようです。
以前(何年か前に)使った時は、このようなTOPページ以外の記事が表示されなくなる現象は起きなかったのですが、WordPressのバージョンが上がってからか、「All-in-One WP Migration」を使って、エクスポート → インポートすると、パーマリンクの設定が狂うようです。
ただ、管理画面の「設定」ー「パーマリンク設定」を開いて閉じるだけで、URLの設定が再構築されて404エラーが解消されるようです。
私の場合は、ほとんどこの方法で、解消したのですが、中にはこれでもTOPページ以外が表示されないままのケースがあり、焦りました。
それで、いろいろ調べたところ、2つ目の原因は、「.htaccess」ファイルでした。
ファイルの中身を以下の内容にすることで、404エラーが解消されて、引っ越し前のように全ページがちゃんと表示されるようになりました。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
おすすめのサーバーについての記事です
-
XSERVERにWordPressをインストール【かなり簡単でした】
XSERVERへのWordPressインストールがかなり簡単でした XSERVER への引っ越しが、思いのほか簡単でスムーズに行きました。 WordPressのインストールがかなり簡単にできたので、楽 ...