设置nginx以重定向移动用户

tra*_*146 7 mobile nginx

我希望我的网站将移动用户从mydomain.com重定向到m.mydomain.com(除非他们特别要求查看非移动网站).

我在使用WURFL的应用程序中执行此操作,但我想启用页面缓存.如果启用了页面缓存,则永远不会知道应用程序是否需要重定向移动用户,因此我需要nginx来执行此操作.

Apache拥有使用WURFL的Apache Mobile Filter等模块.

有没有什么好方法可以在nginx中检测移动浏览器?我不是只想出一个用户代理正则表达式,因为有许多不同的移动用户代理总是在变化.

Phi*_*ham 3

我不相信有专门的 nginx核心第三方模块可以做到这一点。由于任何模块都会简单地进行测试user-agent,因此我无法想象有人会为此特定目的创建模块。

然而,设置检查user-agent和重定向应该相对简单。您可能会发现最好明确检查 Gecko/IE/webkit/opera 并将其他所有内容重定向到您的移动网站 - 这样您就可以维护一个较小的 ua 正则表达式,而且您还可以满足移动游猎(iPhone/iPod触摸),将它们保留在您的主网站上。如果您愿意的话,只需简单的一步即可针对该浏览器进行特殊处理。

此外,您应该能够检查 nginx 配置中的 cookie 内容,以决定是否根据用户代理的首选项进行重定向。

  • http://detectmobilebrowsers.com/ 始终是一个很好的资源。他们还有一个 nginx 的片段 (8认同)