我需要为 example.com 设置 cookie,但我希望 static.example.com 没有 cookie。
在 setcookie() 中设置域参数将使它们可用于 example.com 及其所有子域,这是我不想要的。
有任何想法吗?
来源:http ://www.php.net/manual/en/function.setcookie.php#93641
[..]如果句点不存在,firefox 将在域值前面加上句点(句号)。这是因为 Firefox 期望域参数值(如果存在)是域名而不是主机名。
因此,如果 www 是主机名,则使用域值为 www.example.com 的 setcookie() 是不正确的。如果要将 cookie 限制为单个主机,请将域参数提供为空字符串,例如(注意最右边的参数):
setcookie("TestCookie", "SomeValue", time()+3600, "/~rasmus/", "");
这显然是做不到的。
如果有人找到方法,我将更改接受的答案。
您可以明确设置 cookie 为www.example.com
,而不是example.com
。请记住,这www.example.com
也类似于子域,在其中设置 cookie 不会影响static.example.com
或something_else.example.com