tohokuaikiのチラシの裏

技術的ネタとか。

WordPressがローカルで立たなかった件

WordPress(正確にはMUだけど)のテストローカルを持ってこようとして、hostsファイルに

192.168.13.222 wp-testsite

とか書いて、wp-config.phpのサイト名とか、DB内の所を上記のドメインで書き換えてインポート、さて見るぞ・・・と思ったらできない。


???

いままで、WordPressの移動なんて何度もやってて、これしきの事で動かないわけがない・・・・。

でも、何度やってもダメ。


しょーがないから、調査してみた。1時間ほど。

ようやく見つけた。でも、それはファイルじゃなくて、HTTPヘッダ。

最初に「あれ?」って思ったのは、なんかリダイレクトかましてるんだよね。

ログインは一旦成功したように見えて、

Location: http://*************************/wp-admin/profile.php

にロケーションされて、その後に更に

Location: http://**************/wp-login.php?redirect_to=http%3A%2F%2F****************%2Fwp-admin%2Fprofile.php

される。

あれー。って思って、Cookieを見たら、こちらのリクエストヘッダにCookie:ヘッダが無い!?

あれー・・・って思って、Responseヘッダを見たら、

Set-Cookie: wordpress_=admin%7C1267165209%7C6a6e673224ec07141a0edd1ae4e342b9; path=/; domain=.******************; HttpOnly

ってなってる。



で、このヘッダを見て、!?!?!?となればよかったんだけど、そこまでまわらなくって一度Auth周りのソースを読んだのは内緒。


んで、このヘッダの変なところは・・・・

Set-Cookie: wordpress_=admin%7C1267165209%7C6a6e673224ec07141a0edd1ae4e342b9; path=/; domain=.******************; HttpOnly

なんすか、その.(ドット)?

いや、なんすかって分かるんですよ。そのドットがあることで、サブドメインのWPブログにもAUTHできるという仕様。

しかし、これって、.comへのCOOKIEが許されないのと同様に、wp-testsiteっていう名前付けてもブラウザはクッキーを受け取らんよな。


つまり、WordPressを構築する時は、たとえ自分のローカルPCでも、かならず、****.****の形にしろって言うことですね。