我们有一个奇怪的问题,我开发了一个我们网站的移动版本,它只是位于网站的子文件夹中,例如/mobile/page.asp(我知道.asp classic不要怪我!)
我确实想为移动网站创建一个用于普通网站的域名,但我们的CTO告诉我只做一个子文件夹 .
但问题是我们希望能够设置一个cookie,让我们知道用户WANTS是在主站点还是移动站点上 . 它们理论上可以在桌面上并且仍然选择移动版本(因为我们在页脚中有链接来切换视图,例如从主站点到移动站点,反之亦然) .
但是,如果有人在没有设置cookie的情况下访问该站点,我们会做一些用户代理嗅探确定他们的设备,然后设置一个cookie,然后再将它们重定向到站点的右侧部分 .
我们所有的逻辑似乎都是正确的,但是当我们开始测试时,我们开始得到奇怪的结
在我的iPhone 3gs上它完美运行(最新的操作系统)然而在其他人的iPhone或Android手机上人们会清楚cookie(在测试开始时) - 访问网站 - 代理嗅探会将它们重定向到移动设备网站 - 但是当他们点击移动网站上的其他链接时,代码会将他们带回整个网站 .
这对我来说没有发生 - 也在我们的演示网站上,它适用于某些人,而不适用于其他人 - 也适用于Android设备上下载FireFox的人,它运行良好 .
我和另一位遇到问题的开发人员坐在一起,逐一完成了这些步骤,做了完全相同的事情,调试就向我们展示了发生了什么 .
然而,当我去移动网站时我得到一个设置为“移动”的cookie时,他出于某种原因却没有 . 这就像在重定向之前无法设置cookie,即使重定向到同一个域 .
我读过一些文章说文件中存在一些问题,包括cookie和重定向,这让我觉得这可能是iPhone Safari浏览器上的问题,但这无法解释为什么我的3G手机有效 .
我们尝试重新编写代码,但我们需要能够设置cookie并在所有情况下进行重定向 . 我们甚至尝试过只是将设置cookie的代码更改为会话变量,但即使这样也行不通 .
我真的被卡住了,其他人也是如此 . 我们花了好几天试图调试它,但找不到一个共同点,这可以解释为什么它可以在某些设备上工作而不能在其他设备上工作 .
谁能帮忙!!!任何建议将不胜感激 .
谢谢!