Nginx怎么重写URL
时间: 2024-07-02 18:00:32 浏览: 186
Nginx URL重写rewrite机制原理及使用实例
Nginx是一款强大的开源Web服务器和反向代理服务器,常用于处理高并发的网站请求。如果你想在Nginx中重写URL(也称为URL重定向),可以通过Nginx的`rewrite`指令实现。以下是一个基本的重写规则的例子:
```nginx
location /old_url {
rewrite ^/old_url/(.*)$ /new_url/$1 permanent; # 使用永久重定向 (301)
# 或者使用临时重定向 (302)
# rewrite ^/old_url/(.*)$ /new_url/$1 redirect;
}
```
这里解释一下:
- `location /old_url { ... }` 指定匹配旧URL的请求。
- `rewrite`指令告诉Nginx将接收到的请求从`/old_url`替换为`/new_url`,后面跟着原来的路径参数。
- `^/old_url/(.*)$` 是正则表达式,匹配以`/old_url/`开头的所有路径。
- `$1` 表示匹配到的第一个括号中的内容,这是动态的部分,会随着实际URL的变化而变化。
- `permanent`或`redirect`关键字分别表示永久重定向和临时重定向。
如果你有多个重写规则,可以在同一个`location`块中添加更多的`rewrite`指令,或者在不同的`location`块中定义不同的规则。
阅读全文