【问题标题】:PHP Session lost when switching from http://domain.com to http://www.domain.com从 http://domain.com 切换到 http://www.domain.com 时 PHP 会话丢失
【发布时间】:2016-07-27 03:24:20
【问题描述】:

大家好,

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

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

【问题讨论】:

标签: php session


【解决方案1】:

您可以使用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]

【讨论】:

    【解决方案2】:

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

    编辑你的 php.ini

    session.cookie_domain = ".exemple.com"

    或者在你的脚本中

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

    session_start();

    -

    -

    如果您有问题,请尝试将其添加到您的 php.ini 中

    suhosin.session.cryptdocroot = 关闭

    suhosin.cookie.cryptdocroot = 关闭

    【讨论】:

      猜你喜欢
      • 2010-10-01
      • 2011-12-11
      • 1970-01-01
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 2014-11-10
      相关资源
      最近更新 更多