【问题标题】:Redirect desktop users away from mobile site with .htaccess使用 .htaccess 将桌面用户从移动站点重定向
【发布时间】:2014-07-12 11:40:57
【问题描述】:

大家好,在 Stackoverflow,

我希望使用 .htaccess 将桌面用户从移动网站重定向:

我已经有了这个代码,当移动用户尝试访问我的网站示例的移动版本时,它可以完美运行:m.website.com。

RewriteEngine On
RewriteCond %{QUERY_STRING} !^desktop
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|iphone|ipod|#opera mobile|palmos|webos" [NC]
RewriteRule ^$ http://m.website.com [L,R=302] 

但是,如果用户在桌面浏览器上键入 m.website.com,它会直接转到移动版内容。

有没有办法向 .htaccess 文件添加任何额外的代码,以使其在桌面用户尝试访问 m.website.com 时保持桌面版本。

【问题讨论】:

    标签: regex .htaccess mod-rewrite mobile user-agent


    【解决方案1】:

    将此附加规则放在.htaccessDOCUMENT_ROOTm.website.com 中:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^m\. [NC]
    RewriteCond %{HTTP_USER_AGENT} !(android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera\smobile|palmos|webos) [NC]
    RewriteRule ^ http://website.com%{REQUEST_URI} [L,R=302] 
    

    【讨论】:

    • anubhava 感谢您跟进我的请求。我在哪里特别需要将 url 放在这条规则上:
    • 我正在捕获来自 m.(website.com) 的 URL,因此请求将被重定向到 http://website.com/some-path 但主要网站地址在移动网站中不可用,然后随时用您的网站地址替换上面的 %1是。
    • 嗨 Anubhava,我将桌面规则更改为: RewriteCond %{HTTP_HOST} ^m\.(.+)$ [NC] RewriteCond %{HTTP_USER_AGENT} !(android|blackberry|googlebot-mobile| iemobile|iphone|ipod|#opera mobile|palmos|webos) [NC] RewriteRule ^ domain.com%{REQUEST_URI} [L,R=302] 仍然是从m.website.com(移动)到website.com(桌面)的重定向不工作。我不知道我在这个过程中做错了什么...... .htaccess 文件应该在桌面目录中还是在 m 上。 (移动子域)
    • 这个.htaccess应该在DOCUMENT_ROOTm.website.com
    • 您好 Anubhava...谢谢您的帮助..!你是最棒的!!!我非常有信心,感谢您的耐心。它现在起作用了!!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-10
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    相关资源
    最近更新 更多