Nginx重写 – 什么时候使用中断标志(模式目标中断)?

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将被不同的位置指令处理,也可以强制执行它的处理方式。 请注意,这只在位置指令中使用时才会发生。

对不起,我不能进一步扩大,我走出了门,但随时要求我的答案的任何部分的细节。