nginx location匹配规则

Posted 木子炜培先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx location匹配规则相关的知识,希望对你有一定的参考价值。

location匹配命令

~      #波浪线表示执行一个正则匹配,区分大小写
~*    #表示执行一个正则匹配,不区分大小写
^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
=      #进行普通字符精确匹配
@     #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files
location  = / {
  # 只匹配"/".
  [ configuration A ] 
}
location  / {
  # 匹配任何请求,因为所有请求都是以"/"开始
  # 但是更长字符匹配或者正则表达式匹配会优先匹配
  [ configuration B ] 
}
location ^~ /images/ {
  # 匹配任何以 /images/ 开始的请求,并停止匹配 其它location
  [ configuration C ] 
}
location ~* .(gif|jpg|jpeg)$ {
  # 匹配以 gif, jpg, or jpeg结尾的请求. 
  # 但是所有 /images/ 目录的请求将由 [Configuration C]处理.   
  [ configuration D ] 
}
请求URI例子:

/  =====符合configuration A

/documents/document.html ===== 符合configuration B

/images/1.gif ===== 符合configuration C


/documents/1.jpg =====符合 configuration D

 

以上是关于nginx location匹配规则的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 关于 location 的匹配规则详解

Nginx之location 匹配规则详解

nginx location匹配规则一般匹配和精准匹配

nginx里面location的匹配规则和顺序

转nginx location匹配规则

Nginx多个location匹配