2011-01-13 2 views
1

私はウェブサイトwww.example.comを持っています http://example.comにアクセスしたユーザーがログインし、http://www.example.comを閲覧するとログインしていないと表示されます。その理由は、彼が訪問したときに設定したクッキーが、同じユーザーが訪問したときにサーバーに送信されていないことです。http://www.example.comサブドメインを介してログインしたときにCookieがサーバーに送信されない

いずれかのサイトにログインすると、サイト。モバイルサイトもありますhttp://m.example.com私はユーザーがここにログインしているように見せたい。

WebアプリケーションにPHPとZend Frameworkを使用しています。

答えて

5

クッキードメイン(set_cookieの5番目の引数)を ".example.com"に設定してみてください。

http://php.net/set_cookie

クッキーが利用可能に であるドメイン。 を example.com(example.com を含む)のすべてのサブドメインで利用できるようにするには、 '.example.com'に設定します。いくつかのブラウザ は、 の頭文字を付けずにクッキーを受け入れるでしょうが、»RFC 2109では、それには を含める必要があります。ドメインを 'www.example.com'または '.www.example.com'に設定すると、 のCookieはwww サブドメインでのみ利用可能になります。

php.iniで

2

セットを

session.cookie_domain = .example.com 

OR

ini_set("session.cookie_domain", ".example.com"); 

この意志も、サブドメインで生きているセッション。

+0

両方の回答が動作します..ありがとう – emaillenin

関連する問題