配置nginx的rewrite功能

@努力的小王  February 26, 2018

nginx的rewrite的应用场景非常广泛,主要有以下几点:
*可以调整用户浏览的URL,使其看起来更规范,合乎开发及产品人员的需求
*为了让搜索引擎收录网站的内容,并让用户体验更好,一般会将动态URL地址伪装成静态地址提供服务(伪静态技术)
*网站在更换新域名后,让旧域名的访问跳转到新的域名上;比如360buy跳转jd.com
*根据特殊变量,目录,客户端的信息进行url跳转

1.rewrite 指令最后一项参数flag标记:

last 本条规则匹配完成后,继续向下匹配新的lacation URI规则

break 本条规则匹配完成即终止,不再匹配后面的任何规则

redirect 返回302临时重定向,浏览器地址栏会显示跳转后的URI地址
permanent 返回301永久重定向,浏览器地址栏会显示跳转后的URI地址

2.nginx rewrite 301 跳转

rewrite ^/(.*) http://www.test2.com/$1 permanent;

当访问www.mysever2.com地址时,跳转到www.test2.com

curl -s -o /dev/null -l -w "%{http_code}n" http://www.mysever2.com 查看状态码的方法

301

3.实现不同域名跳转

if ( $http_host ~* "^(.*)\.text\.com$") {

set $domain $1;
rewrite ^(.*) http://www.test.com/$domain/index.html break;   break不做后面的任何匹配

}

curl -s -o /dev/null -l -w "%{http_code}n" http://www.test.com

200 状态码200 说明第一次请求成功

  1. 实现不同目录的跳转

location / {

        root   /opt/html;
        index  index.html index.htm;

    }
    rewrite ^(.*)/opt/data http://www.mysever2.com/ break;

curl -s -o /dev/null -l -w "%{http_code}n" http://www.mysever2.com/opt/data

302

QQ截图20180226165600.pngQQ截图20180226165615.png

关于nginx相关的技术会续写!!!!!!!!

perl 正则匹配.png


添加新评论