1、rewrite regex replacement [flag]

  2、flag为break时,url重写后,直接使用当前资源,不在执行location里其他语句,完成本次请求,地址栏url不变。

  3、flag为last时,url重写后,重新匹配location,进入匹配到的location进行处理,地址栏url不变。

  4、示例

        location ~ /break/ {
rewrite ^/break/(.*) /test/$1 break;
return 605;
} location ~ /last/ {
rewrite ^/last/(.*) /test/$1 last;
return 606;
} location ~ /test/ {
return 607;
}

    1)输入http://localhost/break/1,返回404找不到,若不加break(资源会重定向到/test/1,则会请求此资源,此资源没找到,所以返回404),则会返回605

    2)输入http://localhost/last/1,返回607(资源会重定向到/test/1,又会重新进入server的location进行重新匹配),若不加last,则会返回606

05-19 06:35