Ngix 移动端与Pc端 反向代理判断
如神马搜索和百度(http://www.baidu.com),当用桌面浏览器和移动浏览器访问的结果是不一样的。其中的手段可能有两种:
- 转载Ngix反向代理判断
- 服务端直接判断UA输出不同的界面,JAVA和PHP等后台语言都提供了支持框架
两家都对移动端做了专门的页面,这样进行功能的拆减,用户体验当然大大提高,但有需求发生变化时,往往要更改两处地方。
随着移动互联网时代的来临,很多WEB网站都已经推出了基于手机,Ipad等移动客户端的页面访问,这里介绍一下如何利用用户UA实现用户不同终端下的用户访问:
$http_user_agent 为nginx的内置参数,通过它可以指定用户UA满足某类型时触发什么样的操作,我们这里以iPad为例,配置一下手机端和WEB端的分开访问,首先编辑nginx server {} 程序段,增加如下信息:
location / {
root /data/www/pc;
if ($http_user_agent ~ iPad){
root /data/www/mobile;
index index.html index.htm;
}
重新加载nginx即可,测试时候,如果没有Ipad设备,可以通过火狐浏览器的一个插件User Agent Switcher 来模拟各种设备,有兴趣的可以查一下这个插件的使用情况