【问题标题】:After remove the www extension from addressbar session not working从地址栏会话中删除 www 扩展后不起作用
【发布时间】:2012-05-11 17:47:02
【问题描述】:

登录此 url www.example.com 后,如果我从地址栏中删除 www 扩展名,则登录详细信息值不会按会话保留。

【问题讨论】:

  • 您可能想了解 cookie 域。
  • 在登录代码中没有错误。我想知道我是否在登录后从地址栏(例如(example.com))中删除了 www,它不会保留 seesion 值,为什么会发生这种情况?请告诉我!!!!!!!

标签: php www-authenticate


【解决方案1】:

尝试创建一个从非 www 到 www 的重定向函数。看到这个话题:WWW to non-WWW Redirect with PHP

【讨论】:

    【解决方案2】:

    您的会话由 cookie 维护。当您登录到 www.example.com 时,默认情况下会为此域保存一个 cookie,该 cookie 由对该域中 URL 的每个请求表示。 example.com 是不同的 cookie 域,因此不会显示 cookie。

    解决方案是按照 Andrei 的建议从 example.com 重定向到 www.example.com,或者按照 Adnan 的建议使 cookie 域匹配 - 这两个都是有效的答案。

    【讨论】:

      【解决方案3】:

      将其放入您的全局变量或包含文件中,或者在任何 session_start() 调用之前添加它。

      ini_set("session.cookie_domain",".example.com");
      


      另一种选择是添加这个:

      php_value session.cookie_domain .example.com
      

      致您的.htaccess

      【讨论】:

      • 谢谢,但我想为 example.com 和 www.example.com 设置一个 cookie 值。如果我从地址中添加或删除 www,它将保留相同的 cookie,我为此做什么!!!!!!!!!!!!!!!
      • @tamildinesh 是的,上面的代码将完全符合您的要求.. 试试吧。我还为您添加了一个选项
      【解决方案4】:

      尝试清除浏览器缓存 删除临时文件和预取文件 从 cmd ipconfig/flushdns 清除 dns

      重新打开浏览器登录,写入或删除 www 不应随会话而改变,因为它在服务器上运行。

      确保您没有重新开始会话。

      【讨论】:

        猜你喜欢
        • 2017-07-12
        • 2016-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多