nginx配置rewrite总结

  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

原文地址:https://www.cnblogs.com/coder-yoyo/p/6639775.html