サーバー移行を機にドメインを変えてみたものの、前サイトが生きていて、新サイトへアクセスしてすぐに前のサイトに飛ばされてしまう場合など。
移行先のWordPressへ新ドメインを設定する。
こちらの原因はWordPressの設定値の中にドメインを設定する項目があり、そちらが過去のサイトのままになってしまっている場合に発生すると思われます。
通常は管理画面→設定→基本設定より変更しますが、この現象が発生している状態では管理画面に入ることすら困難かと思います。
そのため、こちらの手法ではブラウザ経由で変更するのではなく、sshで直接データベースに保管されている設定値を変更します。
データの書き換え方
mysql内のデータを変える必要があるため、mysqlにログインします。
$ mysql -u root -p
多分別にルートユーザでなくてもwordpressに設定しているアカウントでも変更できます。
アカウントがわからない場合にはwp-config.phpを参照して下さい。
どのDB名で作っていたかを覚えていなければ確認
mysql> show databases;
わかったら対象へ移動。
mysql> use hogehoge;
最初の設定画面でサイトのDB接頭語を設定できるのだが、それも忘れていた場合には確認
mysql> show tables;
頭に規則的な何かがついてるはず。 これで必要な情報を思い出せたので、現在の設定を確認する
mysql> select * from 接頭語_options where option_name = 'siteurl'; mysql> select * from 接頭語_options where option_name = 'home';
ここでIPを変えた場合にはoption_valueの値が前のアクセスURL(IP)になっているはず。 ので、変更する。
mysql> update 接頭語_options set option_value = '新しいURL' where option_name = 'siteurl'; mysql> update 接頭語_options set option_value = '新しいURL' where option_name = 'home';
これでwordpressが正しいドメイン把握できるようになります。