WordPressは多くのサイトで使われているCMSです。このためWordPressを取り扱う時はよくあり、WordPress製のサイトを新しい環境に移行した時やテスト環境を作成する時など、WordPressの全体をエクスポートないしコピーして別の場所に配置することもしばしばあります。そしてこの時、新しい環境のURLにアクセスすると既存環境のURLにリダイレクトされてしまう問題が発生する時があります。この問題の対処法を紹介します。
このリダイレクト問題のよくある原因は、WordPressがデータベース内に保持しているURLやパスが新しい環境と一致しないことです。具体的には、siteurlやhomeといった設定項目に旧環境のURLが保存されているため新環境でのアクセスも旧環境のURLを参照してリダイレクトが発生してしまうという理由です。この問題を解決するため方法を紹介します。
本来であれば、WordPressの管理画面からこれらのURLを変更するのですが、リダイレクトにより管理画面にアクセスできない場合がほとんどです。そこでデータベースの操作を直接行いURLを正しいものに更新する方法が考えられます。
次のクエリでデータベースの中の値を適切な値に変更します。siteurlとhomeは本来、管理画面の設定ページから設定する項目ですが、リダイレクトにより設定画面にたどりつけないことがほとんどです。このため直にSQLで修正する必要があります。
UPDATE {$table_prefix}options SET option_value = '新しい環境のURL' WHERE option_name = 'siteurl' OR option_name = 'home'; -- 例 UPDATE wp_options SET option_value = 'http://localhost' WHERE option_name = 'siteurl' OR option_name = 'home';
このSQLを実行するとリダイレクトで用いられるURLが変わり新環境に適した値になります。この状態でキャッシュを無効化して再度アクセスを試みます。これで新しい環境でのリダイレクト問題を解決できるかと思います。