我知道HttpRewrite模块但我真的不知道如何处理正则表达式,我需要将某个目录中的所有 URL 重定向到另一个目录,具体来说:
从:example.com/component/tag/whatever
到:example.com/tag/whatever
有人能告诉我如何在 Nginx 中做到这一点吗?
答案1
你的意思是这样的:
rewrite ^/component(.*)$ $1 last;
答案2
根据定义rewrite
指令的位置,有两种方法可以实现它:
A. 在server
上下文中
server {
...
rewrite ^/component(.*)$ $1 last;
...
}
B. 在location
上下文中
location /component {
rewrite ^/component(.*)$ $1 break;
}
Teo,你为什么将标志last
改为break
?因为,如果将该指令放在上下文中location
,last
标志将nginx
运行 10 个周期并返回 500 错误。