巅峰霸主 > 运营推广 > 服务器运维 >

nginx中last和break的区别详解

时间:2020-11-27 02:31:49  来源:巅峰霸主网  作者:烈火大地 点击:
摘要:使用nginx已有一些时间了,但还是没有真正弄明白last和break的区别到底在哪里,通常出现在rewrite这里,为什么要这样写请看下面说明……
  1. last 和 break 当出现在location 之外时,两者的作用是一致的没有任何差异。

注意一点就是,他们会跳过所有的在他们之后的rewrite 模块中的指令,去选择自己匹配的location

2. last 和 break 当出现在location 内部时,两者就存在了差异。

last: 使用了last 指令,rewrite 后会跳出location 作用域,重新开始再走一次刚刚的行为。

break: 使用了break 指令,rewrite后不会跳出location 作用域。它的生命也在这个location中终结。

location / {
...
index  index.html index.htm index.php;
rewrite "^/?.+/list_([0-9]+)_([0-9a-z_]+_[0-9]+)_([0-9]+)\.html$" /plus/list.php?tid=$1&filter=$2&PageNo=$3 last;
rewrite "^/?.+/list_([0-9]+)_([0-9a-z_]+_[0-9]+)\.html$" /plus/list.php?tid=$1&filter=$2 last;
rewrite ^/data/.*\.(jsp|php|asp)$ https://www.kanlingyuan.com/ break;
}

网友解释通俗易懂:

last:

重新将rewrite后的地址在server标签中执行

break:

将rewrite后的地址在当前location标签中执行


英文解释:

  last:

stops processing the current set of ngx_http_rewrite_module directives followed by a search for a new location matching
the changed URI;

  break:

stops processing the current set of ngx_http_rewrite_module directives;


(责任编辑:陆柏熺)
评价:
用户名: 验证码: 看不清?点击更换


关注站长自媒体 获取更多优质内容

  • 百家号
    百家号
  • 头条号
    头条号
  • 企鹅号
    企鹅号

2019-2021 ©巅峰霸主网 京ICP备12023415号-2
返回
顶部