All-in-One WP Migrationでサイトを移行した際、トップページ以外が404エラーで見られないという現象が起きることがあります。今回はその対処法を解説していきます。
トップページ以外が404エラーで見られない時の対処法
対処法としては2種類あります。
- パーマリンク設定を更新する方法
- .htaccessを編集する方法
1が簡単なのでまずはこちらから試してみてください。
1.パーマリンク設定を更新する方法
WordPressの管理画面から「設定→パーマリンク」と進んでください
そうしたら設定は何もいじらずに画面の一番下にある「変更を保存」ボタンをクリックしてください。
たったこれだけで治ることがあります。パーマリンク周りの設定が更新されてページが元通りに復活します。
更新しても治らない場合
何もせずに「変更を保存」をクリックしても治らないことがあります。その場合は「パーマリンク構造」を移転元と移転先のサイトで見比べてみてください。
WordPressデフォルトでは「基本」が選択されていますが、移転元がそれ以外を選択している場合移転先でデフォルトの「基本」が選択されてしまい、パーマリンク構造が食い違うことがあります。
移転元と同じパーマリンク構造を選択する(カスタム構造の場合は同じようにする)と治るはずです。僕の場合はこれで治りました。
このやり方で治らなかった人は次の方法を試してみてください。
2. .htaccessを編集する方法
WordPressをインストールしたディレクトリに.htaccessというファイルがあります。(見えない人は「cmd + shift + .」キーで見えるようになります。それでもない人はファイル自体がないので自分で.htaccessという名前のファイルを作成すればokです)。
このファイルをエディターなどで開いて以下の記述を追加してください(もとから書いてある内容は消さないでください)。
万が一おかしくなったときに元に戻せるようバックアップは必ず取っておいてください!
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
これで保存してWordPressがインストールされているディレクトリにFTPなどでアップします。
ちなみにこの記述はWordPressインストール時に自動で追加されるものなのですが、All-in-One WP Migrationでは.htaccessはコピーされないらしく、そのせいで404エラーになってしまう事があるようです。なので自分で作成すれば解決というわけですね。
まとめ
僕もよくAll-in-One WP Migrationを使うのでトップページ以外全部見られなくなる事があってめちゃくちゃ焦ることがありますが、対処法がわかっていれば大丈夫です。
データのインポートが終わったらトップページ以外も確認するようにしておくといいですね。