【mixhostからXserver】ERR_TOO_MANY_REDIRECTSでWordPress簡単移行ができないときの解決方法


- XserverのWordPress簡単移行が完了しているのにエラーがでる
- ERR_TOO_MANY_REDIRECTSでリダイレクトループ
- SSL化もできてるのに…
mixhostからXserverにWordPress簡単移行をしたところエラーがでてしまいました。なにをやってもダメでしたが、問い合わせをヒントに解決することができました!
- mixhostからXserverへのWordPress簡単移行
- ERR_TOO_MANY_REDIRECTSの解決方法
先に結論です。
- wp-config.phpの接頭辞(プレフィックス)が、データベースと違ったことが原因。
- $table_prefix = ‘◯◯’;を修正する。
わかりやすく説明するので安心してください!あなたのたいせつなサイトを取りもどしましょう!
- ダミーサイトでためすことをおすすめします。(あれば)
- エラー内容によっては解決しないこともあります。
これまでのながれ

ネームサーバーを変更するとエラー

mixhostとお名前.comがイマイチなのでXserverに引越しすることにしました。
ドメイン:お名前.com
ネームサーバー:mixhost
サーバー:mixhost
お名前.comからXserverへのドメイン移管は成功しました。XserverでのWordPress簡単移行も成功しました。
ドメイン:Xserver
ネームサーバー:mixhost
サーバー:Xserver
あとはネームサーバを変更するだけ…ここでエラー発生です。
ドメイン:Xserver
ネームサーバー:Xserver
サーバー:Xserver
エラー内容

ネームサーバーを変更するとこのようなエラー画面になってしまいます。
ネームサーバーが確実に切り替わったかは次のサイトで確認することができます。
- このページは動作していません
- 〇〇〇〇〇〇.com でリダイレクトが繰り返し行われました。
- Cookieを消去してみてください
- ERR_TOO_MANY_REDIRECTS
やってみたこと(全部ダメ)

Cookie、キャッシュクリア
ブラウザとサーバーのキャッシュをクリアしました。
Cookieの削除もしましたが変わりません。
.htaccessの確認
リダイレクトの設定をイジっている場合はそれが原因かも…という記事をよく見かけます。
しかし、.htaccessの設定をイジるほどの知識はありません。ためしに推奨コードに修正してみましたが変わりません。
.htaccess(ドット・エイチ・ティ・アクセスと読むらしい…)
関連プラグインの停止
キャッシュ系のプラグインを停止しておいたほうがいいとのことですが、キャッシュ系のプラグインはつかっていません。
- Broken Link Checker
- EWWW Image Optimizer
- Flexible Table Block
- Really Simple SSL
- Rich Table of Contents
- Rinker
- Two Factor
- Yoast Duplicate Post
- Xserver Migrator
プラグイン同士の干渉が原因との情報もありました。
Really Simple SSLとXserver Migrator以外は停止した状態で、再度WordPress簡単移行をトライしましたがダメでした…
wp-config.phpにてURLの設定
WordPressアドレスとサイトアドレスが異なっていることがあるとのことです。
しかし、どちらもhttps://〜で合っています。念のためwp-config.phpからも設定してみましたが変わりません。

ありとあらゆるキーワードで調べました。それでも同じような解決策しか出てきません…
サードパーティはよくわからなくて試していません。
メールで問い合わせてみた

恥をしのんでXserverのサポートに問い合わせてみました。17時過ぎに問い合わせたのに、18時頃爆速で返信がきたのでよくあるなやみなのかもしれません。

返信内容です。
サーバー内に設置されている各データについて個別による解析などはできませんが、移転したWordpressの構成ファイルである「wp-config.php」の記載とMySQLデータベースの設定情報に差異が生じている際に、このような事象が発生することがございます。
たとえば、Wordpressの構成ファイルである「wp-config.php」に記載している接頭辞とMySQLデータベースの接頭辞に差異が生じていないかなどデータベースの設定内容を精査いただき改善しないか、参考までに上記お目通しくださいましたら幸いに存じます。
※WordPressのデータベース設定ファイルwp-config.phpに記述されている、データベースの接頭辞とデータベース内に設置されている、各テーブルの接頭辞が統一されているか確認をお願いします。
エックスサーバーサポートより
Xserverのサポートから「接頭辞が統一されているか確認をお願いします。」とあります。「絶対にそれだから、接頭辞を直せば解決するよ」というのがサポートの本音かもしれません笑

さて、接頭辞とは…?
wp-config.phpとは?

wp-config.phpは通行手形みたいなもので、データベースと接続するために必要なことが書かれています。
※「SQL」はデータベースにアクセスするための言語です。
- データベース名
- データベースユーザー名
- データベースパスワード
- データベースホスト名
- データベースの文字コード
- データベースの接続先
※セキュリティ上重要な内容なので公開しないでください。

でも、WordPress簡単移行をするとwp-config.phpもデータベースも自動的につくられるから違いがでるはずないよな…
ところで「接頭辞」はなんのことなのでしょうか?
- 頭の文字のこと
- 接頭辞は英語でプレフィックス
ふーんといったところですが、wp-config.phpの下の方に書かれている文字を見つけてしまいました!
$table_prefix = ‘wp_’;

プレフィックス!?接頭辞のこと!?
これだ!

wp-config.phpのプレフィックス(接頭辞)が原因と判明
//Xserverに書かれていること
$table_prefix = ‘wp_’;
//mixhostに書かれていること
$table_prefix = ‘wp◯◯_’;

Xserverとmixhostの「wp-config.php」にはちがうことが書かれています!


データベースの名前がちがうよ!
というのがエラーの原因でした!

解決手順
Xserverの$table_prefix = ‘wp_’;を、mixhostに書かれていた接頭辞に修正すればOKです!

もうすこしくわしく教えてというかたは続きをご覧ください!
①Xserverファイル管理からwp-config.phpを開く
mixhostからも調べられますが、移行後のことを考えてXserverで調べることをおすすめします。

まずは、レンタルサーバメニューのファイル管理をクリックします。


つぎに、あなたのサイトドメイン名→public_html→wp-config.phpを「編集」で開きます。


まだ編集はしません。ユーザー名とパスワードをコピーしてください。

②XserverのphpMyAdminを開く


さきほど「wp-config.php」に書かれていたユーザ名とパスワードを入力します。

※Xserverのブラウザタブが複数開いていると、パスワードが合っていてもログインできないことがあります。
ログインすると次のような画面になります。

ピンク枠の中が接頭辞です!わたしの場合は「wp〇〇_」ですね!

この「wp〇〇_」をXserverの「wp-config.php」に書けばOKです!
※アンダーバーまでが接頭辞です。
接頭辞はひとそれぞれで「ppap_」とかいろいろあります。
③Xserverの「wp-config.php」を修正
「wp-config.php」の下のほうに次のような記載があるので、あなたのデータベースの接頭辞に書き換えましょう!
$table_prefix = ‘wp_’;
$table_prefix = ‘wp◯◯_’;

更新したらすぐに反映されました!
サイトURLを正しく入力してくださいね!

Xserverでサイトをつくると自動的に接頭辞が「wp_」になるようです。mixhost側の接頭辞と合わせてくれれば助かるのですが…
ちなみに

SSL化は事前に済ませた
SSL化を先に済ませたほうがいいという記事を見たため、mixhostにてSSL化のWeb認証をしてからWordPress簡単移行をしました。

SSL化したあとに接頭辞の修正が原因であることに気づきました。

SSL化は事前に済ませる必要はないと思います。
WordPress簡単移行をして、ネームサーバーをmixhostからXserverに変更したあとにSSL化をしても問題ないはずです。
解約は落ち着いてから

旧契約の解約はちょっと待ってください!
実はうまくできてなかったなんてこともあり得りえるので、念のため1ヶ月くらいしてから解約しましょう。
確実にネームサーバーが切り替わっているか、つぎのサイトで確認しましょう。
まとめ

接頭辞はmixhost側で自動的に作られたもので、わたしはなにもイジっていません。
WordPress簡単移行なのにまったく簡単じゃありません…せめてよくあるエラーとして記載が欲しかった…
でも、あれだけネットで調べてもわからなかったということはレアケースなのかもしれません。

WordPressの引越しでなやんでいるかたの解決になればなによりです!