为什么我的网站要设置两次 cookie?为“www.example.com”存储一组 cookie,为“example.com”存储同一组。
问问题
2240 次
1 回答
5
最有可能的是,您允许通过两个域名访问您的站点example.com
,www.example.com
并且您没有指定应设置 cookie 的域名。第五个参数setcookie()
指定域,所以设置为example.com
only。这也将使其可用于更高的域www.example.com
。
setcookie('key', 'value', time(), '/path', 'example.com');
通过 URL 重写,您可以在设置 cookie 之前强制您网站的所有用户访问这些域中的一个或另一个,但这只是用户体验一致性的解决方案,而不是管理 cookie 的方法。
从文档:
领域
cookie 可用的域。将域设置为“www.example.com”将使 cookie 在 www 子域和更高的子域中可用。可用于较低域的 Cookie,例如“example.com”,将可用于较高的子域,例如“www.example.com”。仍在实施已弃用的 » RFC 2109 的旧浏览器可能需要前导 . 匹配所有子域。
于 2012-05-19T11:48:33.770 回答