为什么要创建两个身份验证cookie?一个用于www,另一个没有www

时间:2009-01-28 19:18:51

标签: authentication cookies dotnetnuke

我的dotnetnuke网站遇到了这个问题,其中.DOTNETNUKE cookie被创建了两次,

一个用于www.website.com,另一个用于website.com。

当用户使用website.com的网址登录并尝试访问www.website.com的网页时,会导致他们使用www.website.com的新Cookie重新登录。这导致两个cookie,一个用于www.website.com,另一个用于website.com。

如何解决此问题,是否有人有任何想法从哪里开始?

谢谢! 约翰

2 个答案:

答案 0 :(得分:9)

这与点规则有关。浏览器执行的安全检查之一是确保cookie的域具有与其所在域相同的周期数。来自www.example.com的cookie将具有域“www.example.com”或“* .example.com”,其中来自“example.com”的cookie将具有域“example.com”。所以浏览器认为“example.com不是/可能与www.example.com不同,为了以防万一,最好得到一个新的cookie。”

设置您的服务器,以便将用户重定向到www或no-www。确保你选择其中一个并坚持下去。拥有两个不仅会导致您当前的cookie失败,还可能会损害您在搜索引擎中的网页排名。

有关详细信息,请参阅此处:

A question on SO relating

Dot rule stuff

答案 1 :(得分:1)

为了避免IIS配置,我在这里找到了一个网址重写工具http://urlrewriting.net/149/en/home.html。它就像一个魅力!