nginx的rewrite
时间: 2024-05-28 22:07:33 浏览: 113
Nginx中rewrite实现二级域名、三级域名、泛域名、路径的重写[文].pdf
5星 · 资源好评率100%
nginx的rewrite指的是通过修改URL来实现请求的转发或者重定向。在nginx中,rewrite可以通过使用正则表达式匹配URL来实现URL的修改。在nginx配置文件中,rewrite可以使用rewrite指令来实现。其语法格式如下:
```
rewrite regex replacement [flag];
```
其中,regex为正则表达式,replacement为替换的URL或者URI,flag为可选参数,表示rewrite的标志。常用的flag包括:
- last:表示停止当前location中的rewrite检查,并将新的URI传递给nginx处理。
- break:表示停止当前location中的rewrite检查,并将新的URI传递给nginx处理,但不会再进行location匹配。
- redirect:表示重定向到新的URI,返回HTTP 302状态码。
- permanent:表示永久重定向到新的URI,返回HTTP 301状态码。
以下是一个nginx rewrite的例子:
```
location / {
rewrite ^/abc/(.*)$ /def/$1 last;
}
```
这个例子表示,如果请求的URL匹配了正则表达式`^/abc/(.*)$`,则将匹配部分替换为`/def/$1`,并停止当前location中的rewrite检查。假设请求的URL为`http://example.com/abc/hello`,则经过rewrite后,请求的URL变成了`http://example.com/def/hello`。
阅读全文