Local で作ったサイトをロリポップに移行したとき何度やってもログイン状態にならない時に行ったこと

テストサイトを作るときLocalを使っています。簡単に環境を作れてLocalすごくいいですね。

で、今回作ったサイトのデータをロリポップに移行した時、ちょっとしたトラブルがありました。その備忘録です。

移行ツールにAll-in-One WP Migrationを使いしました。これ色々設定しなくて便利なので使うことも多いですが、サーバー側でアップロード制限があるとちょっと厄介です。

ロリポップはアップロード制限を増やすのが少し面倒です。で、ここに書かれていることを参考に解除する事ができました。

で、無事アップロードできてサイトも表示され、コントロールパネルにもログインできたので一安心。で、リンク等おかしなところを修正しようとチェックしていたら、修正できないしコントロールパネル側とサイト側でログイン状態をキープできない。で、調べてみるとホームで設定しているurlが全て、wordpressをインストールしているディレクトリ名付きで表示されるんです。

例:https://hogehote.com/wordpress/

上記のようになります。

で、設定⇨一般からWordPress アドレス (URL)とサイトアドレス (URL)を確認すると問題なく設定されていました。念の為、phpMyAdminでサイトurlを確認してみても大丈夫。

で、検索して参考にしたサイトがこれ。

なんでもwordpressを違うサーバーに移行したら良くなる事らしい。

wp-config.php を編集するために開く。

“define” 宣言の後 (「編集が必要なのはここまでです !」という行の直前) に、新しい行を追加し define('RELOCATE',true); と入力する。

wp-config.php ファイルを保存する。

ブラウザーを開き、新サーバーの wp-login.php へ移動する。例えば、新しいサイトが http://example.org の場合は http://example.org/wp-login.php とブラウザのアドレスバーに入力する。

通常と同じようにログインする。

ブラウザーのアドレスバーを見て、正しいサーバーにログインしているかどうか確認する。正しい場合は管理画面で「設定 > 一般設定」へ移動し、アドレス設定が両方とも正しいかどうか確認する。変更を保存するのを忘れずに。

すべて正しく修正されたら、wp-config.php を編集してステップ2で追加した内容を削除する。再度リロケートメソッドを使う予定がある場合は、行をコメントアウト (行頭に // と書く) するか true を false に変更してもよい。

注: RELOCATE が true に設定されている場合、ログイン画面にアクセスした際のパスを使ってサイト URL が更新されます。これで新しい URL で管理画面を使うことができるようになりますが、それ以外の設定を変更するわけではありません。他の設定は手動で変更する必要があります。

https://ja.wordpress.org/support/article/changing-the-site-url/

よくあるパターンとしては、ドメイン直下のディレクトリの中にWordPressを移行先にしたときに、ログインできない時

define('RELOCATE',true);

を使うとログイン画面にアクセスした際のパスを使ってサイトURLが更新されるので新しいURLで管理画面を使う事ができるみたいです。しかしこのままRELOCATE定数をwp-config.phpに残しておくと攻撃者によって好きなURLに変更される危険性があるため、削除しておかなければいけないそうです。勉強になりました。

この記事を書いた人

tegecat

Webや動画の製作、PCに関することを仕事にしています。また、トレイルランニングや野菜づくり、料理なども楽しんでいます。