Nginx 重写规则不改url

Nginx rewrite rule without changing url

我需要在不更改 url 的情况下为我的 nginx 服务器重写规则。 例如 : 以下link http://example.com/old/path/index.php?cid=XXhhHHnmmm
成为:
http://example.com/newpath/index.php?cid=XXhhHHnmmm

并指向该特定文件夹 (/old/path)。
到目前为止,我已经尝试了以下方法,如果我尝试打开
_http://example.com/newpath:
但如果我尝试
则不起作用 _http://example.com/newpath/index.php?cid=XXhhHHnmmm

location ~ /old/path {
rewrite "/old/path" http://www.example.com/newpath break;
}

我也尝试过使用 proxypass :

location /newpath {
proxy_pass http://www.example.com/old/path;
}

但仍然无法正常工作。

尝试

location ~ ^/newpath {
    rewrite ^/newpath/(.*) /old/path/ break;
}

仅供参考,因为它不适用于文件到文件重定向,这很简单:

rewrite ^/terms-of-use.html /legal/some-terms-of-use-v3.html break;