ワードプレスでちょっと困った事がありました。
テストサーバーから本番へアップする時に「searchreplacedb2.php」というものを使っています。
この記事では、「ワードプレス」「引っ越し」などをぐぐったりしてファイルの移行、データベースの移行ができている人前提、で、searchreplacedb2.phpの使い方を知っている人向けに書いています。
その上で、サイトの移行は完了した。
けど管理画面にログインできない!
ってケースの場合で半分は自分用のメモとして書いています。
【起こった事象】
・ファイルコピーOK
・wp-configの書き換えOK
・DBのエクスポート、インポートOK
・searchreplacedb2を使ってのファイルの置き換えとDBの紐付けOK
▲管理画面にログイン→何故かテストサーバーの管理画面に移行(リダイレクト)させられる
リダイレクトされてる時点で気づけばスマートだったのですが、結論から言うとhtaccessの問題でした。
ウチのhtaccessの記述では以下の通りでした。
AddHandler php5.6-script .php
#SITEGUARD_PLUGIN_SETTINGS_START
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /testserver/
RewriteRule ^wp-signup\.php 404-siteguard [L]
RewriteRule ^wp-activate\.php 404-siteguard [L]
RewriteRule ^login_42377(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END
# BEGIN WordPress
# END WordPress
うん、まあリライトエンジンONとかなってますね。
あんましhtaccessとか詳しくないのですが、これだけは何となく分かる。
testserver参照しろよって書かれている気がする
なので、こう書き換えました。
AddHandler php5.6-script .php
#SITEGUARD_PLUGIN_SETTINGS_START
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /./
RewriteRule ^wp-signup\.php 404-siteguard [L]
RewriteRule ^wp-activate\.php 404-siteguard [L]
RewriteRule ^login_42377(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END
# BEGIN WordPress
# END WordPress
「testserver参照しろよ」から「同一階層参照してね」にしてあげました(多分あってると思う)
結果リダイレクトはかかるけど同一階層参照された事によって無事解決しました。
もしかしたら解釈違ってるかもですが、解決したのでこれで良かった事にします。
そういえばヘテムルのDBをsakuraのDBに入れようとしたらエラーが出ました。
何でだろう?ヘテムル→ヘテムルは入るのに。
PHPバージョンもどちらも5なのになぁ?
そんなこんなでsakuraって結構使いにくいとこ多いなぁって感じします。mysqlのサーバーも1つしか割り当てられないし。