Regex 重写反向代理的URL

Regex 重写反向代理的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;

这类似于,但我不知道该如何将这个答案应用于我的情况

我正在尝试重写反向代理的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;
    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;
}

我不知道这是否有区别,但我认为重写应该在位置块的顶部。