2011-01-13 69 views
1

我有一個網站www.example.com 當用戶登錄時,他訪問http://example.com,然後當他瀏覽http://www.example.com時,他顯示爲未登錄。原因是當他訪問http://example時設置的cookie沒有被髮送到服務器時,當同一用戶訪問http://www.example.com通過子域登錄時未發送到服務器的Cookie

我想用戶顯示爲登錄在這兩個網站,如果他登錄任何一個這些網站。我也有一個移動網站http://m.example.com。我希望用戶也可以在這裏登錄。

我爲我的web應用程序使用PHP和Zend Framework。

回答

5

嘗試將cookie域(set_cookie的第5個參數)設置爲「.example.com」。

http://php.net/set_cookie

的Cookie是 提供給您。 若要使 example.com(包括example.com 本身)的所有子域上都可以使用Cookie ,則應將其設置爲 '.example.com'。儘管一些瀏覽器 將首先接受不包含 的cookie,但»RFC 2109要求它包含 。將域設置爲 'www.example.com'或 '.www.example.com'將使 Cookie僅在www 子域中可用。

希望這會有所幫助!

2

設置它在php.ini

session.cookie_domain = .example.com 

OR

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

這將在子域還活着會議。

+0

這兩個答案的工作..謝謝 – emaillenin 2011-01-14 04:54:58