我有一个网站,例如example.com
,在那里用户可以设置自己的子域(一个用户-一个子域),并上传自己的脚本,例如http://somedomain.example.com/xyzzy.php
将映射到/www/somedomain/xyzzy.php
现在,在其中一些域中,Internet Explorer7不能/不能接受cookie。检查了Fiddler:服务器正确地发送了Set-Cookie响应,但cookie从未出现在IE中-对于JS或开发人员工具。在请求时,IE7也不会发送Cookie头。
cookies是为用户的域(例如somedomain.example.com
)设置的,路径是/
,尝试了不同的过期选项(过去、将来、当前、"0"),不是HttpOnly,不安全。
FF、Opera、Safari和Chrome都能正常工作。
为什么IE会忽略cookie?
发布于 2009-04-27 16:29:07
其中一个子域是否使用了下划线?IE无法接受来自不遵循URI RFC的子域的cookies。
发布于 2010-01-25 19:13:26
这个问题不仅适用于域名中的下划线,也适用于以数字开头的域名。所以cookie实际上是一个非标准的域名,这会导致IE拒绝1aaaaaaa.tld
。
我只使用www2.1aaaaaaa.tld
,然后在.htaccess
中为1aaaaaaa.tld
和www.1aaaaaaa.tld
主机添加重写规则,从而解决了这个问题。不知道这是否真的符合标准的解决方案……但不管怎样,它似乎已经解决了cookie问题。
希望这对某些人有帮助!
https://stackoverflow.com/questions/794243
复制相似问题