我有以下 Nginx 配置:
server {
listen 80;
location /test {
rewrite /test(.*) /$1 break;
proxy_pass "http://www.example.com/";
}
}
这对于主页和输入'http://localhost/测试'我得到了http://www.example.com/并且 URL 仍然是“http://localhost/测试“”。
很酷,但是当我点击网站上的链接时,/more_examples
我想让该链接被重写如下: http://localhost/test/more_examples。在实践中,我得到了以下结果:http://localhost/more_examples,这显然行不通。这可能吗?
任何帮助将不胜感激。
答案1
我已经测试了你的代码,对我来说,它的工作原理就像你描述的一样:
location /test {
rewrite /test(.*) $1 break;
proxy_pass http://www.basicwebsiteexample.com;
}
我调用http://localhost/test
并获取像这样的子页面http://localhost/test/media
。
我的浏览器中没有出现任何重定向或 URL 重写。
如果您的浏览器中仍然出现 URL 重定向,则您代理的网站或 nginx 配置中一定存在重定向。