nginx之location指令匹配规则

doc:https://nginx.org/en/docs/http/ngx_http_core_module.html#location

1.简介

localtion是用于和请求url进行匹配的指令,语法如下

句法:	location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }
默认:	—
内容:	server, location
  • 可以在匹配的uri模式前面添加四种修饰符,来指定匹配模式
  • 还可以使用@指定一个命名localtion块,可以被引用

2.修饰符

位置可以由前缀字符串或正则表达式定义。

正则表达式由前面的“ ~*”修饰符(不区分大小写的匹配)或“ ~”修饰符(不区分大小写的匹配)指定。

  • =:精确匹配,uri必须完全相同,不检查后续
  • ^~:前缀字符串匹配,不检查正则表达式
  • ~*:不区分大小写的正则匹配
  • ~:区分大小写的正则匹配

匹配逻辑为:

nginx首先检查使用前缀字符串定义的location指令块(前缀位置)。其中,将选择并记住具有最长匹配前缀的位置。

然后按照在配置文件中出现的顺序检查正则表达式。正则表达

猜你喜欢

转载自blog.csdn.net/qq_27868061/article/details/112152900