PHP会话登录不同的网址与www和没有www?

时间:2011-01-27 05:45:29

标签: session cookies

我正在调试会话登录,当我登录www.domainname.com时,会话将仅设置为www。

当我要访问url domain.com时,会话登录被忽略,我将被提示再次登录表单。

我也设置了会话cookie_domain,但没有工作。

任何人都可以帮助我吗?为什么呢?

3 个答案:

答案 0 :(得分:1)

我知道这个问题与“谁先来了?鸡蛋还是鸡肉?”一样古老。

我在这个问题上遇到了很多麻烦。 但是......如果你使用的是php,我找到了一个解决方案:

在您的登录脚本中插入第一行

<?php
session_set_cookie_params(0, '/', 'www.yourdomain.com');
session_start()
?>

或者您可以尝试yoursubdomain.yourdomain.com而不是www.yourdomain.com

它对我有用。希望它也能帮助其他用户。

答案 1 :(得分:0)

我强烈建议您将用户重定向到该网站的规范版本(可能是www.example.com域名)。环顾四周,您会注意到大多数网站都是为了保持一致性(包括SO;看看当你去www.stackoverflow.com时会发生什么)。

答案 2 :(得分:0)

您是否尝试将会话域设置为“.example.com”?:

$lifetime = 0;
$path = '/';
$domain = '.yourdomain.com';
session_set_cookie_params($lifetime, $path, $domain);

请注意$domain字符串变量开头的点。

检查函数here的参考。

相关问题