在不更改 Nginx 中的 uri 的情况下重写规则

Rewrite rules without changing uri in Nginx

如何在 Nginx 的进程中重写 uri 而不返回重定向? 重写结果在同一个主机中。

示例:重写“mysite.com/foo”返回与“mysite.com/bar”相同的结果,但我们不更改过程中的 uri。

它有点像 proxy_pass 但对于同一个主机。

您可以proxy_pass host+uri。

location  ~ ^/foo/(.*)$ {
    include proxy_params;
    proxy_pass   http://127.0.0.1/bar/;
}

或重写 proxy_pass 应该可以工作:

location  ~ ^/foo {
    rewrite ^foo(.*) /bar
    proxy_pass   http://example.com;
}

我希望这两个中的任何一个对你有用。