【问题标题】:Keep user on mobile site让用户留在移动网站上
【发布时间】:2011-11-17 04:17:30
【问题描述】:

我有一个带有简单 .htaccess 规则的网站,该规则检查用户是否在移动浏览器上,如果是,则将他们重定向到我们的移动网站。问题是 - 如果他们决定要访问常规站点(并单击将他们带到那里的链接),他们最终将返回移动站点,b/c 我们的 .htaccess 规则将捕获他们并重定向。

有没有一种简单的方法,无需修改大量代码,即使他们有移动浏览器,也可以让他们“坚持”在常规网站上?

如果那不可能 - 是否有一个简单的最小解决方案可以在代码中完成这项工作?

【问题讨论】:

  • 在代码中您可以检查 HTTP_REFERER,如果是移动网站,则不要重定向。

标签: php .htaccess redirect mobile


【解决方案1】:

您可以跳过所有 cookie 内容并检查 http 标头中的 http 引荐来源网址。如果推荐人是您的移动网站,则不要将其重定向到移动网站。

希望对您有所帮助。

PS:我很想看看你的 .htaccess 用于检测移动设备。这有多可靠?它是否会意外重定向许多平板电脑?

【讨论】:

    【解决方案2】:

    设置包含用户选择的覆盖的 cookie 或会话参数。

    【讨论】:

      【解决方案3】:

      根据我的评论,您可以通过检查 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]
      

      请注意,我没有对此进行测试,因此语法可能有点错误,但它应该可以帮助您入门。

      【讨论】:

        【解决方案4】:

        我所做的是在移动网站上提供指向完整网站的链接。当链接被点击时,我设置了一个 cookie [生命周期很短],让常规网站知道不要重定向。

        到移动设备的重定向是由常规站点上的 PHP 而不是 htaccess 处理的。 PHP 检查 cookie,如果未找到,则重定向到移动设备。常规站点还提供了一个指向销毁 cookie 的移动站点的链接。

        【讨论】:

        • 我的建议也差不多。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-25
        • 1970-01-01
        • 1970-01-01
        • 2014-09-16
        • 1970-01-01
        • 2012-06-16
        • 1970-01-01
        相关资源
        最近更新 更多