WordPressのテーマを大幅に編集したい、と思った時、テスト環境が自分のPCになかったため、レンタルサーバー内でテスト用にとインストールしておいたWordPressにそのまま複製しちゃおうと考えました。
そこで使ったのが前回の記事でも書いた「All-in-One WP Migration」プラグイン。
元のWordPressサイトをエクスポートして、テスト用のWordPressでインポート。
フロントサイドの表示は問題なくできました。
しかし、いざ管理画面に入ろうとすると入れない…。
複製元もテスト用の方も、「SiteGuard」というプラグインを使ってログインアドレスを変更していました。
WordPress初期のログイン画面は
1 |
http://サイトURL/wp-login.php |
となっていますが、そのプラグインを使って「wp-login.php」の部分を「login_99999」のようなランダムな数字が入ったものに変更していました。
「All-in-One WP Migration」で複製するとログイン情報も書き換えられてしまうのを忘れて、テスト用の方だからログイン画面のURLはこれ…
1 |
http://テスト環境ドメイン/test/login_テスト環境の数字 |
と思いアクセスするとログイン画面が表示されました。
よしよし、と思いテスト環境のID・パスワードで入ろうとすると404ページに飛ばされてしまいます。
ID・パスワードは間違ってないし、あれれ?と思ったあと、すぐに複製元のログイン情報じゃないとダメなんだった、と思い直し今度はこっちのアドレスにアクセスしました。
1 |
http://テスト環境ドメイン/test/login_複製元の数字 |
ですが、こっちはログイン画面すら表示されず、404に飛ばされました。
ログイン画面が表示されないならどうしようもないので、今度はテスト環境の数字が入った方のURLで、複製元のID・パスワードでやってみようとためしてみますが入力後は404ページへ。。
いろいろ調べると同じような状況になった方の記事にたどり着きました。
どうもhtaccessが問題アリのよう。
テスト環境のhtaccessの中を見てると
1 |
RewriteRule ^login_テスト環境の数字(.*)$ wp-login.php$1 [L] |
という記述がありました。これを
1 |
RewriteRule ^login_複製元の数字(.*)$ wp-login.php$1 [L] |
と変えることで以下のログイン画面から、
1 |
http://テスト環境ドメイン/test/login_複製元の数字 |
複製元のID・パスワードを使って無事管理画面が表示されました!
めでたしめでたし。