ホスト名にアンダーバーを含むとIEでcookieが作られない

という件で、数時間たっぷりはまってしまいました。

「hoge_test」みたいなホスト名をhostsで指定してアクセスするようなローカルのテスト環境を作っていて、自分が動作確認していた時には問題無かったのに、同じ様な環境を用意したチームのメンバーがテストするとセッション機能が思うように動作しない。

始めはちゃんと動くはずという先入観で、単にソースが同期されていないのでは、とかPHP周りの設定が違っていないかとか、違う方向に頭が行っててどうにも糸口がつかめなかったのですが、ようやく動作しているのはFirefoxで実行した時であること、IEからだとセッション発行時にCookieが作られていないことに気付きます。

それをキーワードに調べを進めたところ、表題の件が判明したというわけです。ホスト名を「hogetest」のような名前に修正したらあっさり解決・・・。確認した限り、サブドメインやドメインにアンダーバーを含むアクセス時にはIE6、IE7ではcookieが作られませんでした。(Firefoxはその点ゆるいようですね。)

そもそもRFC的にドメイン名のアンダーバーの使用は許されていないようで、それに準拠したIEの納得の仕様というわけだったんですね。どうせテスト環境だとアクセスできているのをいいことに、全くもって名前に気を配っていなかった自分に反省。

関連記事

トラックバック(0)

このブログ記事を参照しているブログ一覧: ホスト名にアンダーバーを含むとIEでcookieが作られない

このブログ記事に対するトラックバックURL: http://blog.knockoutmarch.com/mt3/mt-tb.cgi/206

コメントする

このブログ記事について

このページは、ko31が2009年3月17日 01:55に書いたブログ記事です。

ひとつ前のブログ記事は「段ボール電車「Dan-Train 3000形」を買ってみました」です。

次のブログ記事は「Prototype Window Classでprototype.jsのバージョンによりエラーが出る」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

RSSフィード

  • 購読する

いろいろ

あわせて読みたい

フィードメーター - ポップフライ

seo

Powered by Movable Type 4.01