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;
我需要在不更改 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;