1、Rewrite 作用

Nginx rewrite 的主要功能也是实现URL地址重写。Nginx的rewrite 规则需要PCREl软件的支持,即通过Perl兼容正则表达式的语法进行规则匹配。

2、Rewrite 语法

指令语法:rewrite regex replacement [flag]; 应用位置:server、location、if

例子: rewite ^/(.*) http://www.kang.com/$1 permanent;

上述指令中,rewrite为固定关键字,表示开启一条rewrte匹配规则,regex部分是^/(.*),表示匹配所有,匹配成功后跳转到http://www.kang.com/$1, 结尾的permanent,是永久301重定向票房,即跳转到后面的http://www.kang.com/$1 地址上。

3、Rewrite flag 四种标记说明

last:本条规则匹配完成后,继续向下匹配新的location URI 规则 break:本条规则匹配完成即终止,不再匹配后面的任何规则。 redirect:返回302临时重定向,浏览器地址栏会显示跳转后的URL地址 permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址

4、例子实战

server {
    listen       80;
    server_name  www.kang.com;
			rewrite ^/(.*) http://www.qq.com/$1 permanent;    #匹配所有,直接跳转
    rewrite /baidu/  http://www.baidu.com/$1  break;  
			#当网址输入http://www.kang.com/baidu/ 时,跳转到百度
    rewrite /jd http://www.jd.com/$1 break;
			#当网址输入http://www.kang.com/jd 时,跳转到京东
}