我有NGINX反向代理代码,我一直在试验(通过试验和错误),最终得到我想要的结果。
下面的重写规则做我想让它做的;但是,我不确定是否有更好的方法,因为我是在反复试验中偶然发现的。我也不希望有任何意外的结果。
rewrite ^/$ /web/index.html;
字符串
最初,我错误地认为下面的重写规则应该做上面的规则所做的事情。但是,它做的事情完全不同。我想知道与第一条重写规则相比,它实际上做了什么。
rewrite ^/$ http://$http_host/web/index.html;
型
1条答案
按热度按时间whhtz7ly1#
您总是可以在文档中找到最好的解释:http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite
最重要的:
如果替换字符串以“http://”、“https://”或“$scheme”开始,则处理停止并且重定向被返回到客户端。
所以它基本上是把那个url发送给客户端,客户端再向新的链接发送一个新的请求。您还可以在浏览器链接栏中看到新链接。
如果重定向不以这些关键字开头,它将由nginx内部处理。所以它只是在内部调整所请求的uri来决定它应该返回给客户端的内容。您还可以在浏览器链接栏中看到您仍在请求的链接上。
下面是一个简单的例子:
字符串