今回はブログ移転に伴うドメインやpathの変更にまつわるトラブルについて。
ブラウザに行きたいサイトのurlを入力してもenterキーを押すと勝手に違うurlへ飛ばされてしまう。なんてこと、皆さんは経験したことがありますでしょうか。私はこのトラブルに見舞われてしまい、1週間ほどとかしてしまいました(^o^)
ということで、今回はおそらく初心者にとってはなかなかわかりずらいポイントであろう、ドメインやpassの設定について取り上げたいと思います。
そもそも私が何のサイトをどこへ移転しようとしているのかを再確認しておきます。レンタルサーバー上で動いているwordpressのマルチサイトをローカルに移転しようとしているのです。しかもローカル上にはすでに1つwordpressのサイトが移転してある状態です(そちらはマルチサイトではありませんが)。私は最終的には以下のようにして、マルチサイトを移転させることに成功しました。
上の画像を見てください。このようにセッティングすると、、  このようにしっかりローカルでサイトを見ることができました!
必ずしも上記の方法でなくてもいいかと思うのですが、マルチサイトですと、config.phpに'DOMAIN_CURRENT_SITE'と'PATH_CURRENT_SITE'を設定しないといけない関係上、以上のように仮想化ホストを自分で建てて、そこをルートディレクトリにしてしまった方が設定が混乱しないようです。私はこの設定をする前は、このサイトのルートディレクトリがlocalhost/matom.xyzであったため、'DOMAIN_CURRENT_SITE'にlocalhost、'PATH_CURRENT_SITE'に/matom.xyz/を設定しようと試みていたのですが、なぜかうまくいきませんでした、、(.htaccessもちゃんと変えていたはずなのですが、、)
あと、ルートディレクトリに仮想化ホストを設定した場合も'PATH_CURRENT_SITE'の/は忘れないようにしましょう。これがないと、ドメインとpathをつなぐ/が消えてしまい、一部のページのリンクが狂ってしまいます。
また、.htaccessの設定はなかなか曲者で、ルートディレクトリより下の階層から設定することが重要です。上記サイトの場合は.htaccessは以下のように設定しました。

ルートディレクトリとpassの間をつなぐ/をRewriteBaseや最後の行のRewriteRuleのところに忘れずに設定しておきましょう。
また、仮想化ホスト(バーチャルホスト)の設定についてはこのサイトにわかりやすくまとめられているので、こちらを参照してみて下さい。
