【发布时间】:2014-11-09 06:54:09
【问题描述】:
我有一个用 PHP 编写并在 Nginx HTTP 服务器上运行的网站。我有一个名为“locale”的 cookie,它代表用户区域设置。 6 个月以来,我发送的 cookie 是这样的:
setCookie("locale", "fr", time() + 36000, "/");
作为一个没有 cookie 的域,我知道它只在我的单个域“www.mydomain.com”上可用。
但现在,我想创建 2 个新闻子域:
- m.mydomain.com(移动端)
- secure.mydomain.com(安全版本)
我看到 www 上设置的“区域设置”cookie 无法被 m 或安全访问。所以现在我像这样发送cookie:
setCookie("locale", "fr", time() + 36000, "/", ".mydomain.com");
是的,我的 cookie 现在随处可见!但是由于我有一些用户已经浏览过我的网站,他们有域少的 cookie + 新的,他们的浏览器向我发送了两个 cookie,但 PHP 给了我前一个。因此,没有人可以再更改语言环境了。
问题是:如何从这个无域 cookie 迁移到域指定 cookie?无需更改 cookie 名称。
【问题讨论】:
标签: php cookies nginx cross-domain