从http://domain.com切换到http://www.domain.com时,PHP会话丢失

时间:2015-10-16 07:25:33

标签: php session

每个人,

如果我使用http://mywebsite.com访问我的网站,则会有一个登录页面,成功登录后我会将用户重定向到http://www.mywebsite.com而不是http://mywebsite.com

我注意到会话已经设置但是从http://切换到http://www时丢失了 虽然setcookie('name', $data, time()+seconds, '/', ".mywebsite.com") 这项工作同时适用于http://和http://www 请指导我 感谢

2 个答案:

答案 0 :(得分:3)

您可以使用session_set_cookie_params将会话的Cookie域设置为.mywebsite.com,或将会话ID保存在您自己的Cookie中。

但我建议在htaccess中创建一个重定向到您网站的www或非www版本

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

答案 1 :(得分:0)

我有类似的问题,但是,这个解决方案对我有好处,也许将来会帮助别人

编辑你的php.ini

session.cookie_domain =" .exemple.com"

或在你的脚本php

session_set_cookie_params(0,' /',' .example.com');

在session_start();

-

-

如果您遇到问题,请尝试在php.ini

中添加

suhosin.session.cryptdocroot = Off

suhosin.cookie.cryptdocroot = Off