我的网站带有简单的.htaccess规则,用于检查用户是否在移动浏览器上,如果是,则将其重定向到我们的移动网站。问题是 - 如果他们决定要去常规网站(并点击带有他们的链接),他们最终会回到移动网站,b / c我们的.htaccess规则会抓住他们并重定向。
是否有一种简单的方法,即使他们有移动浏览器,也可以修改大量的代码,使他们能够“持久”在常规网站上?
如果那不可能 - 是否有一个简单的最小解决方案可以在代码中使用它?
答案 0 :(得分:4)
我所做的是提供指向移动网站上完整网站的链接。点击链接后,我设置了一个[生命周期很短]的cookie,让普通网站知道不会重定向。
重定向到移动设备是由PHP处理的,而不是常规网站上的htaccess。 PHP检查cookie,如果没有找到,则重定向到移动设备。常规站点还提供了移动站点的链接,用于销毁cookie。
答案 1 :(得分:0)
继续我的评论后,您可以通过检查mod_rewrite中的%{HTTP_REFERER}在.htaccess中执行相同的操作。我不确定你当前如何进行重定向,但你可以将这两部分结合起来。所以你最终得到这样的东西:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://mobile.mydomain.com
RewriteCond %{HTTP_USER_AGENT} [your check for mobile browser]
RewriteRule ^(.*)$ http://mobile.mydomain.com/$1 [R=301,L]
请注意,我没有对此进行测试,因此语法可能有点不对,但它应该让你开始。
答案 2 :(得分:0)
设置包含用户选择覆盖的cookie或会话参数。
答案 3 :(得分:0)
您可以跳过所有Cookie内容并检查http标头中的http referrer。如果引荐来源是您的移动网站,则不要将其重定向到移动网站。
希望有所帮助。
PS:我有兴趣看到你的.htaccess用于检测移动设备。这有多可靠?是否意外重定向了许多平板电脑?