0

这可能有点令人困惑,所以请耐心等待我解释这个问题。

我有一个网站 www.mydomain.com 和一个手机版 m.mydomain.com 主网站没有任何具体的cookie_params设置 手机网站具体设置

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

移动设备会自动检测并定向到移动站点。

移动站点使用https://www.mydomain.com/mobile/进行结帐,以便 SSL 证书有效。所以我们从 m 切换。到 www。当我们安全的时候。

这就是奇怪开始的地方......

在我的 iPhone 上,我可以毫无问题地完成整个过程。

但是,当我使用计算机浏览器并特别选择使用移动网站时,我无法进入结帐 - 原因是 session_id 在 m. 和万维网。(& 数据库找不到您的购物篮项目,因此它不会让您进入结帐)或者更确切地说有 2 个会话 ID - 一个用于 www。& 一个给米。

鉴于移动网站的每个页面都设置了上述参数,为什么计算机浏览器选择使用 www. 会话ID?

任何解决这个问题的建议都非常感谢。

附加信息:我从 Firefox 中删除了所有 cookie 并重新启动了浏览器。我直接去了 m.mydomain.com 并且这工作正常,可以结帐。

因此,也许有了这些信息,问题就变成了有没有办法强制移动网站——​​不管 URL 是什么——使用特定的 cookie 参数名称?

4

1 回答 1

1
session_set_cookie_params(0, '/', '.'.str_replace('www.','',$_SERVER['HTTP_HOST']));
session_name('ses_name');
session_start();
于 2012-05-11T08:04:06.223 回答