Nginx重写规则,不更改网址

时间:2015-04-24 14:17:35

标签: linux url nginx webserver rewrite

我需要为我的nginx服务器重写规则而不更改网址。 例如 : 以下链接 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$2 break;
}

我也尝试过使用proxypass:

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

但仍未按预期工作。

2 个答案:

答案 0 :(得分:3)

尝试

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

答案 1 :(得分:0)

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

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