我正在调试会话登录,当我登录到www.domainname.com时,会话将只与www一起设置。PHP会话登录不同的URL与www和没有www?
当我要去url domain.com时,会话登录被忽略,我将被提示重新登录表单。
我也设置了会话cookie_domain,但没有工作。
任何人都可以帮助我吗?为什么?
我正在调试会话登录,当我登录到www.domainname.com时,会话将只与www一起设置。PHP会话登录不同的URL与www和没有www?
当我要去url domain.com时,会话登录被忽略,我将被提示重新登录表单。
我也设置了会话cookie_domain,但没有工作。
任何人都可以帮助我吗?为什么?
我强烈建议将用户重定向到该网站的规范版本(可能是www.example.com域名)。环顾四周,你会注意到大多数网站为了一致性而做到这一点(包括SO;看看当你去到www.stackoverflow.com时会发生什么)。
我知道这个问题与“谁先来?鸡蛋还是鸡?”一样古老。
我在这个问题上有很多麻烦。 但是......如果你正在使用PHP我已经找到了解决办法:
在您的登录脚本插入在第一线
<?php
session_set_cookie_params(0, '/', 'www.yourdomain.com');
session_start()
?>
,或者你可以尝试yoursubdomain.yourdomain.com
代替www.yourdomain.com
。
它适用于我。希望它也能帮助其他用户。
你有没有尝试过的会话域设置为“.example.com的”?:
$lifetime = 0;
$path = '/';
$domain = '.yourdomain.com';
session_set_cookie_params($lifetime, $path, $domain);
注意在$domain
字符串变量的开始点。
检查功能here的参考。
您必须设置Cookie域错误。这是Cookie的默认行为,它们只能在设置的相同完全限定域中访问。 – 2011-01-27 05:47:04