Web

Nginx windows下搭建过程【转】

http://www.cnblogs.com/mecity/archive/2011/06/17/2082786.html

Tool set:

http://lnmp.org/changelog.html

Nginx配置

http://wdhdmx.iteye.com/blog/969328

Nginx配置网站适配PC和手机

http://www.alixixi.com/web/a/2015070495008.shtml

考虑到网站的在多种设备下的兼容性,有很多网站会有手机版和电脑版两个版本。访问同一个网站URL,当服务端识别出用户使用电脑访问,就打开电脑版的页面,用户如果使用手机访问,则会得到手机版的页面。

1、判断客户端的设备类型

要想让网站适配PC和手机设备,首先要能做出准确的判断。HTTP请求的Header中的User-Agent可以区分客户端的浏览器类型,可以通过User-Agent来判断客户端的设备。

无论是PC还是手机,由于操作系统、浏览器的多样性,自己来实现这个判断并不容易。好在国外有一套开源的通过User-Agent区分PC和手机的解决方案,可以直接使用:

http://detectmobilebrowsers.com/

由于本文使用Nginx,只要在网站上下载Nginx配置即可。




if ($mobile_rewrite = perform) {
  # 手机
}

Nginx通过以上的配置,获取HTTP请求的User-Agent,使用正则表达式来匹配手机设备。

2、根据设备适配不同的页面

首先要准备好网站的PC版和手机版两套页面,通过之前对设备的判断,来反向代理到不同的版本:

location / {
    proxy_pass http://192.168.20.1;  # 电脑版
    if ($mobile_rewrite = perform) {
        proxy_pass http://192.168.20.2;  # 手机版
    }
}

如果是静态页面不需要反向代理,那么用root替换proxy_pass:

location / {
    root /html/pc;
    if ($mobile_rewrite = perform) {
        root /html/mobile;
    }
}

3、手机版链接到PC版

在用户打开页面后,如果进入了手机版,可能由于错误判断设备,或者用户想获取更多信息,可能会需要打开PC版。在手机版页面的底部,通常会有一个链接指向PC版:

可以通过在点击“电脑版”链接的时候用JavaScript设置一个Cookie