我希望我的网站将移动用户从mydomain.com重定向到m.mydomain.com (除非他们特别要求查看非移动站点)。
我在我的应用程序中使用WURFL实现了这一点,但我想启用页面缓存。如果开启了页面缓存,应用程序将永远不会知道如何重定向移动用户,因此我需要nginx来做这件事。
Apache有一些使用WURFL的模块,比如Apache Mobile Filter。
在nginx中有没有检测手机浏览器的好方法?我不想只是想出一个用户代理正则表达式,因为有这么多不同的移动用户代理总是在变化。
发布于 2010-02-08 18:00:33
我不相信有专门的nginx core或third-party模块来实现这一点。因为任何模块都会简单地测试user-agent,所以我无法想象有人会为这个特定目的创建一个模块。
但是,在user-agent上设置检查并重定向应该相对简单。你可能会发现更好的方法是显式地检查Gecko/IE/webkit/opera,并将其他所有内容重定向到你的移动站点-这样你就可以维护一个较小的ua正则表达式,而且你可以通过将它们放在你的主网站上来满足移动safari (iPhone/iPod Touch)的需求。如果你愿意,这是浏览器特殊情况的简单一步。
此外,您应该能够检查nginx配置中的cookie内容,以根据用户代理的首选项决定是否重定向。
https://stackoverflow.com/questions/2164733
复制相似问题