我想在2个域中共享Cookie,因为我的移动网站在子域上运行。
生产服务器:
www.server.com
m.server.com
开发服务器:
rabbit.server
rabbit.m.server
我设置cookie的PHP代码如下所示:
if ($settings['development'] == true) // intranet does not work with subdomains :-(
setcookie($cookiename,$sessid, $expires,'/','',0);
else // production
setcookie($cookiename,$sessid, $expires,'/', $subdomain.'.'.$domain['name'],0);
我如何在两个网域上共享此Cookie,以便客户端在两个网站上都可以使用?
答案 0 :(得分:0)
这是你的意思吗?
“要使cookie可用于整个域(包括其中的所有子域),只需将值设置为域名(在本例中为”example.com“)。”
答案 1 :(得分:0)
您不必明确定义子域:
setcookie('cookiename','cookievalue',time()+(3600*24),'/');
将cookie放在root中,并且每个地方都可以访问它。
所以基本上'/'
定义可以在所有文件夹中访问它。
答案 2 :(得分:0)
嗯,有两种方法可以做到这一点。
您可以在整个域上设置cookie,这样您就可以从任何子域访问它,或者如果您只想允许某些子域,那么您将不得不创建两个cookie,每个cookie一个。
您不能为两个不同的子域 创建一个Cookie,您可以在整个域中启用它,或者您可以拥有多个Cookie,每个一个子域。
代码方面你必须改变
setcookie($cookiename,$sessid, $expires,'/', $subdomain.'.'.$domain['name'],0);
到
setcookie($cookiename,$sessid, $expires,'/','.'.$domain['name'],0);