1、基本语法:location [=|~|~*|^~] /uri/ { … } php
2、分类: nginx
1.基本location:以“ = ”或“ ^~ ”为前缀或者没有任何前缀的 /uri/ 正则表达式
2.正则location:以“ ~ ”或“ ~* ”为前缀的 /uri/ 测试
基本location 又分为2种: spa
1)严格精确匹配: “ = ” 字符串
2)最大前缀匹配: 无前缀 或者以“ ^~ ” get
3、解释: io
1)= 严格匹配。若是这个查询匹配,那么将中止搜索并当即处理此请求。
2)~ 为区分大小写匹配(可用正则表达式)
3)~* 为不区分大小写匹配(可用正则表达式)
4)!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
5)^~ 若是把这个前缀用于一个常规字符串,那么告诉nginx 若是路径匹配那么不测试正则表达式。
搜索
4、规则: 语法
1.先匹配普通 location ,再匹配正则 location ,可是若是普通 location 的匹配结果刚好是“严格精确( exact match )”的,则 nginx 再也不尝试后面的正则 location ;若是普通 location 的匹配结果是“最大前缀”,则正则 location 的匹配覆盖普通 location 的匹配。
2.基本location 中,严格精确匹配大于最大前缀
2.对于普通 location 指令,匹配规则是:最大前缀匹配(与顺序无关),若是刚好是严格精确匹配结果或者加有前缀“ ^~ ”或“ = ”(符号“ = ”只能严格匹配,不能前缀匹配),则中止搜索正则 location ;但对于正则 location 的匹配规则是:按编辑顺序逐个匹配(与顺序有关),只要匹配上,就当即中止后面的搜索。