質問: 本番環境と同じ状態の開発環境を作成しようと、 本番環境(docroot/prd)の全てのファイルをローカル(docroot/test)に移し、 データベースも本番環境からエクスポートしたものをローカルDBにインポートしました。 そして、 http://websae.net/wordpress-backup-without-plugin-20140924/ ここを参考にDBやwp-config.phpをローカル用に設定しました。 ダッシュボードもサイトも問題なく表示されたので 一安心しかけたのですが、一つ問題がありました。 サイト上のリンクをクリック(例えば、お問い合わせ)すると、 アドレスバーには「localhost/test/inquiry/」と出ているのですが、 実際には「localhost」の内容が表示されてしまうのです。 これがどのリンクをクリックしても同じでした。 ダッシュボード内は全て調べたわけではないですが、 localhostが表示されるといったことはなく普通に操作できました。 全てのプラグインを無効にし、キャッシュをクリアして再トライしてみましたが変わりはありませんでした。 何をしくじったらこのようなことになるでしょうか?
回答: DBの移行の手順としては参考にされているサイトでは不完全な可能性があります。DB内のデータにはシリアライズされたものもあるため、「DATABASE SEARCH AND REPLACE SCRIPT IN PHP」を使用する方法が書かれたサイトを参考にされたほうが良いです。 【WordPressでサーバ移行時にドメインが変わる場合の書き換え方 | AC-5】 パスの問題ですが、.htaccessを削除して「パーマリンク設定」を何も変更せずに保存してみてはいかがでしょう。 一般的な原因特定フローは、下記の通りです。 1. DB/ファイル全てのバックアップをする 2. デバッグモードにする ⇒ 3. プラグイン/テーマ/本体全てをアップデートする 4. デフォルトテーマで再現するか確認する 5. プラグインを全て止めて再現するか確認する 6. 構成するシステムファイル群をFTPで最新のものに上書きする 7. 全.htaccess を削除し、「パーマリンク設定」を何も変更せずに保存する