nginx location 的配置

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 的匹配规则是:按编辑顺序逐个匹配(与顺序有关),只要匹配上,就当即中止后面的搜索。

相关文章
相关标签/搜索