nginx wiki指出:
中断 – 完成当前重写指令的处理,非重写处理仅在当前位置块内继续。
这是说:
如果重写模式匹配,则处理重写(重写为目标),但不处理位置块中的任何其他规则,并处理位置块中的所有其他(caching,代理等)指令?
我正在谈论的rest标志按照:
PATTERN目标标志
不是“rest” 指示。
更新:
我正在考虑使用这个场景如下,一个简单的位置有多个重写:
location /path/ { rewrite ^/user_request_one$ /target_one; rewrite ^/user_request_two$ /target_two; ... other directives ... }
也许我不完全理解nginx如何处理重写,但在上面,如果target_one匹配,nginx仍然会testing重写规则target_two? 将一个break标志添加到target_one指示nginx停止parsing任何进一步的重写规则?
我所要求的主要原因是因为我们有一些重写规则的位置块,我不确定天气nginx正在testing重写模式“进一步下降”,即使一个匹配“靠近顶部”。 这些重写是非常独特的,所以如果被打中,nginx绝对没有理由在同一个位置块中testing任何其他的。 我们只是想确保我们不浪费任何宝贵的CPU周期,因为这是一个相当负载的服务器。
希望这可以帮助。
谢谢。
在HttpRewriteModule页面上有一个很好的解释: http ://wiki.nginx.org/HttpRewriteModule#rewrite
首先看看“nginx如何处理请求”可能是个好主意: http : //nginx.org/en/docs/http/request_processing.html
编辑:是的,你的解释是什么rest
break会将请求处理保持在同一个位置指令中,所以即使在正常情况下(即被直接请求)改写的path将被不同的位置指令处理,也可以强制执行它的处理方式。 请注意,这只在位置指令中使用时才会发生。
对不起,我不能进一步扩大,我走出了门,但随时要求我的答案的任何部分的细节。