Regex 重写反向代理的URL
这类似于,但我不知道该如何将这个答案应用于我的情况 我正在尝试重写反向代理的URL,以便在Nginx向上游服务器发出请求时/pathA/something变成/pathB/somethingRegex 重写反向代理的URL,regex,nginx,rewrite,reverse-proxy,Regex,Nginx,Rewrite,Reverse Proxy,这类似于,但我不知道该如何将这个答案应用于我的情况 我正在尝试重写反向代理的URL,以便在Nginx向上游服务器发出请求时/pathA/something变成/pathB/something location ~ /pathA(/|$) { proxy_pass http://www.example.com; proxy_redirect off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location ~ /pathA(/|$) {
proxy_pass http://www.example.com;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
rewrite ^/pathA(.*) /pathB$1;
}
我尝试了这个,但是我得到了一个Nginx 404页面,而不是example.com 404页面。我需要添加重定向302或永久301:
location ~ /pathA(/|$) {
proxy_pass http://www.example.com;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
rewrite ^/pathA(.*) /pathB$1 permanent;
}
我不知道这是否有区别,但我认为重写应该在位置块的顶部。