Nginx Rewrite规则配置方法
Nginx Rewrite规则的配置主要是在nginx.conf文件中,在server段中添加rewrite指令,具体格式如下:rewrite [flag] regex replacement [last]其中,flag表示重写规则的标志,可以是以下几个值:
- last:表示该规则为一条规则,不再继续执行后续的重写规则;
- break:表示重写规则匹配成功后,不再继续执行后续的重写规则;
- redirect:表示重写规则匹配成功后,返回302临时重定向;
- permanent:表示重写规则匹配成功后,返回301永久重定向;
- noescape:表示重写规则的替换字符串不进行URL编码;
Nginx Rewrite规则示例
下面是一些Nginx Rewrite规则的示例:-
将所有请求重定向到https:
rewrite ^(.*)$ https://$host$1 permanent;
-
将所有请求重定向到另一个域名:
rewrite ^(.*)$ http://www.example.com$1 permanent;
-
将所有请求重定向到另一个URL:
rewrite ^(.*)$ http://www.example.com/new-url$1 permanent;
-
将所有请求重定向到另一个URL,并且增加一个参数:
rewrite ^(.*)$ http://www.example.com/new-url$1?param=value permanent;
-
将所有请求重定向到另一个URL,并且增加一个参数,但不重定向:
rewrite ^(.*)$ http://www.example.com/new-url$1?param=value break;