location匹配规则与优先级
= 精确匹配,匹配成功则停止匹配
^~ 前缀普通字符匹配,匹配成功则停止匹配
~ 正则匹配,区分大小写;多个正则按顺序匹配
~* 正则匹配,不区分大小写;多个正则按顺序匹配
!~ 正则不匹配,区分大小写;多个正则按顺序匹配
!~* 正则不匹配,不区分大小写;多个正则按顺序匹配
/url 开头普通字符匹配,在正则匹配之后;多个普通字符按长度匹配
/ 通用匹配,未匹配到location的都会匹配到此
location匹配实例
= 匹配
访问:http://localhost/,返回101
location /static {
return 100;
}
location = /static { return 101; }
^~匹配
访问:http://localhost/static/home,返回103
location ^~ /static { return 102; } location ^~ /static/home { return 103; }
~匹配
访问: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; }