如何在PHP中跨多个域维护用户首选项

时间:2010-12-03 07:43:35

标签: php cookies cross-domain expressionengine redirectwithcookies

我正在表达引擎中开发一个多语言网站。我正在为网站的不同语言版本使用不同的域名,例如:www.site.en,www.site.jp等。

现在我想跟踪访问者语言首选项,我想知道最后一个用户/系统访问了哪些域名(没有用户登录功能)。 假设我访问www.site.com并切换到www.site.jp并关闭浏览器。

所以,下次当用户访问这些域中的任何一个时,我想将用户重定向到域(在这种情况下是www.site.jp),他最后访问过。

问题是我无法为其他域设置cookie 我也没有用户登录功能 我也不想使用第三方cookie,因为它不是可靠的系统。

1 个答案:

答案 0 :(得分:0)

在将用户重定向到www.site.jp之前,您应该在www.site.com上设置一个cookie。因此,当用户再次访问www.site.com时,您的PHP脚本中的cookie是可读的,您可以再次重定向。

如果用户直接访问www.site.jp,您无需为此烦恼,因为该网站已经是日文版。


始终重定向到www.site.com/setcookie?lang=xx,
在任何域切换之前和cookie设置之后,执行必要的重定向

因此,理论上,www.site.com始终为最后选择的语言保留一个cookie,您可以使用它来重定向到www.site.xx


而是使用多个域名,使用秒级目录进行分离,如

www.site.com/en
www.site.com/jp
www.site.com/zh