location正则表达式
字符 | 含义 |
---|---|
. | 匹配任意单个字符,可以是一个汉字 |
^ | 行首锚定, 用于模式的最左侧 |
$ | 行尾锚定,用于模式的最右侧 |
* | 匹配前面字符任意次(包括0次) |
? | 0或1次 |
+ | 1次或多次(1次或以上) |
\ | 转义符 |
\d | 只匹配数字 |
{n} | 重复n次 |
{n,} | 至少n次(n次货以上) |
{n,m} | n到m次 |
[ ] | 定义匹配字符的范围,只匹配一次 |
[c] | 单个字符 |
[a-z] | 匹配任意小写字母 |
[a-zA-Z0-9] | 匹配任意字母和数字 |
() | 表达式的开始和结束位置 |
| | 或运算符a|b |
location匹配规则
规则表达式 | 规则含义 |
---|---|
= | 进行普通字符精确匹配。也就是完全匹配 |
^~ | 表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其他 location |
~ | 表示执行一个正则匹配,区分大小写 |
~* | 表示执行一个正则匹配,不区分大小写 |
!~ | 表示执行一个正则匹配,区分大小写取反 |
!~* | 表示执行一个正则匹配,不区分大小写取反 |
location优先级
等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项。
^~类型表达式。一旦匹配成功,则不再查找其他匹配项。
正则表达式类型(~和~*)的优先级次之。常规字符串匹配类型(不带任何修饰符的匹配),按前缀匹配。
通用匹配(/),如果没有其它匹配,任何请求都会匹配到。
(location = 完整路径) > (location ^~ 完整路径) > (location ~* 完整路径) >(location ~ 完整路径) > (location /)通用匹配