检测用户代理,然后将其设置为cookie有时会导致重定向循环

时间:2019-06-20 10:03:00

标签: php cookies url-redirection user-agent redirect-loop

我有以下情况:

  • 我有两个网站,一个是移动网站( m.mydomain.com ),另一个是台式机( mydomain.com

  • 我通过用户代理检测来决定要加载哪个站点

  • 一旦检测到这种情况,我会将用户的设备信息保存在 Cookie:设备中。
  • 此cookie可以包含以下值之一:桌面移动。
  • 如果用户带有设备Cookie进入站点,我将跳过用户代理检测,并且我认为用户确实正在使用所写的设备Cookie。

enter image description here

(图像注释:当用户要从桌面打开移动链接时,它的作用也相反。当移动站点设置cookie时,cookie域将是m.mydomain.com)

错误: 因此,大多数情况下,这种机制是同步的,但有时我仍会遇到重定向循环,但我并不十分了解这种情况的原因。基本上,一个域认为它是桌面,另一个域认为它是移动的,并且它们在重定向方面起着无限循环的作用。 3次重定向后,浏览器崩溃,重定向错误太多。

还要提一提的是,只有当我在移动和桌面用户代理之间切换chrome inspector时,我才在真正的移动设备上从未经历过这种情况。

我的想法是:

  • 也许cookie设置在重定向之前失败
  • 当我想访问该值时,域命名可能会引起某种混乱。
  • 也许读取cookie值失败

0 个答案:

没有答案