当我点击网站通知电子邮件中的链接时,我一直在丢失会话变量。在这个问题上打了很长时间之后,我今天意识到www.domain-name.com不包含会话变量,而domain-name.com就是这样!
为什么会这样?我该怎么做才能把事情做好(php-apache)?
答案 0 :(得分:3)
会话基于Cookie,每个域都有
www.domain.com
与domain.com
不同,因此他们的Cookie会保持独立。
标准做法是选择一个变体,301
将另一个变体重定向到首选变体。
答案 1 :(得分:2)
会话ID存储在cookie中,并且可以在cookie中指定它应该如何对域名做出反应。
查看PHP的setcookie文档。
您可以使用以下命令更改PHP的会话cookie配置:
ini_set("session.cookie_domain", ".mydomain.com");
答案 2 :(得分:1)
'www'在技术上没什么特别之处。域名“domain.com”与“www.domain.com”不同;如果要关联它们,则需要在某处显式,通常在HTTP服务器配置中。
答案 3 :(得分:0)