让用户留在移动网站上

时间:2011-09-14 16:04:33

标签: php .htaccess redirect mobile

我的网站带有简单的.htaccess规则,用于检查用户是否在移动浏览器上,如果是,则将其重定向到我们的移动网站。问题是 - 如果他们决定要去常规网站(并点击带有他们的链接),他们最终会回到移动网站,b / c我们的.htaccess规则会抓住他们并重定向。

是否有一种简单的方法,即使他们有移动浏览器,也可以修改大量的代码,使他们能够“持久”在常规网站上?

如果那不可能 - 是否有一个简单的最小解决方案可以在代码中使用它?

4 个答案:

答案 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用于检测移动设备。这有多可靠?是否意外重定向了许多平板电脑?