晓夏

新手菜鸟Linux学习之路

不怕从零开始,只怕从未启程

Nginx 正则匹配优先级

浏览量:312

location匹配规则与优先级

=  精确匹配,匹配成功则停止匹配

^~   前缀普通字符匹配,匹配成功则停止匹配

~  正则匹配,区分大小写;多个正则按顺序匹配

~*   正则匹配,不区分大小写;多个正则按顺序匹配

!~   正则不匹配,区分大小写;多个正则按顺序匹配

!~*  正则不匹配,不区分大小写;多个正则按顺序匹配

/url 开头普通字符匹配,在正则匹配之后;多个普通字符按长度匹配

/   通用匹配,未匹配到location的都会匹配到此

 

location匹配实例

= 匹配    (优先级最高)

  访问:http://localhost/,返回101

location /static {
   return 100;
}

location = /static {    
   return 101; }



^~匹配        (location层级多者优先)

  访问:http://localhost/static/home,返回103

location ^~ /static { 
   return 102;
}

location ^~ /static/home {    
   return 103;
}



~匹配    (普通正则匹配按location顺序匹配优先级)

  访问:http://localhost/static/a.png,返回104

  访问:http://localhost/static/a.PNG,返回106

location ~ \.(png|jpg)$ {    
   return 104;
}

location ~ \.(png|gif)$ {    
   return 105;
}

location ~* \.png$ {    
   return 106;
}



普通匹配    (优先级最低)

  访问:http://localhost/static/home,返回107

location /static/home {    
   return 107;
}

location /static {    
   return 108;
}


本文转载自:https://www.cnblogs.com/chy-op/p/9573373.html

分享:

支付宝

微信