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 ]
}

location 匹配的优先级(与location在配置文件中的顺序无关)

= 精确匹配会第一个被处理。如果发现精确匹配,nginx停止搜索其他匹配。

^~ 则只匹配该规则,nginx停止搜索其他匹配,否则nginx会继续处理其他location指令。

最后匹配理带有"~"和"~*"的指令,如果找到相应的匹配,则nginx停止搜索其他匹配;当没有正则表达式或者没有正则表达式被匹配的情况下,那么匹配程度最高的逐字匹配指令会被使用。

时间: 2024-10-11 05:21:02

nginx location 匹配规则的相关文章

【转】nginx location匹配规则

转载请保留:http://www.nginx.cn/115.html location匹配命令 ~      #波浪线表示执行一个正则匹配,区分大小写~*    #表示执行一个正则匹配,不区分大小写^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录=      #进行普通字符精确匹配@     #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files location 匹配的优先级(与

nginx location匹配规则

location匹配命令 ~ #波浪线表示执行一个正则匹配,区分大小写 ~* #表示执行一个正则匹配,不区分大小写 ^~ #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录 = #进行普通字符精确匹配 @ #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files location = / { # 只匹配"/". [ configuration A ] } location /

Nginx之location 匹配规则详解

Nginx之location 匹配规则详解 关于一些对location认识的误区 1. location 的匹配顺序是"先匹配正则,再匹配普通". 矫正: location 的匹配顺序其实是"先匹配普通,再匹配正则".我这么说,大家一定会反驳我,因为按"先匹配普通,再匹配正则"解释不了大家平时习惯的按"先匹配正则,再匹配普通"的实践经验.这里我只能暂时解释下,造成这种误解的原因是:正则匹配会覆盖普通匹配(实际的规则,比这复杂,

前端开发掌握nginx常用功能之server&location匹配规则

nginx主要是公司运维同学必须掌握的知识,涉及到反向代理.负载均衡等服务器配置.前端开发尤其是纯前端开发来说对nginx接触的并不多,但是在一些情况下,nginx还是需要前端自己来搞:例如我们公司的开发环境和测试环境,虽然qa可以帮助搞定配置,但是每新增一个前端模块或者模块nginx配置经常变更都求着qa搞,麻烦别人还不如自己来搞,这样更能理解自己的需求.这些都需要前端开发对nginx有所理解,下面我们来说说nginx最基础的server和location匹配规则. 1. server匹配规则

nginx location匹配及rewrite规则

location匹配规则 1. 实例 server{ location = \ { [配置A] } location / { [配置B] } location = /images/ { [配置C] } location ^~ /static/{ [配置D] } localtion ~* \.(gif|jpg|png){ [配置E] } } 2. location语法规则 语法: location = | ~ | ~* | ^~ | @ /url/{ //注意 =.~.~*.^~ .@是locat

nginx之location匹配规则

1.概述 Nginx server块下的一个指令,每个server块可以包含多个location块. 2.作用 (1)基于Nginx服务器接收到的请求字符串(例如:server_name/usr-string),对除虚拟主机名称(也可以是ip别名)之外的字符串(例如:"/usr-string")进行匹配,对特定的匹配进行处理: (2)地址定向.数据缓存和应答控制等功能都是在这部分实现: (3)许多第三方模块的配置也是在location块中提供功能. 3.语法结构 Location [

nginx中的location匹配规则介绍

简要概述 location匹配的几个命令的说明,如下 符号 说明 ~ 波浪线表示执行一个正则匹配,区分大小写 ~* 表示执行一个正则匹配,不区分大小写 ^~ ^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录 = 进行普通字符精确匹配 @ "@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files 具体详情,请参加官方文档 官方文档理解 前缀匹配 前面带有/或者/documents/的为前缀匹配.前缀匹

Nginx之location匹配规则(个人总结)

Location匹配的url的语法规则: syntax: location [=|~|~*|^~|@] /uri/ { - } default: no context: server=            表示精确匹配 ^~             表示普通字符匹配,不继续匹配正则,一般用来匹配目录 ~            表示区分大小写的正则匹配 ~*              表示不区分大小写的正则匹配 !~ 和!~*       分别表示区分大小写和不区分大小写不匹配的正则 @    

location 匹配规则

语法规则 location [=|~|~*|^~] /uri/ { … } 符号    含义 =    开头表示精确匹配 ^~    开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格) ~    开头表示区分大小写的正则匹配 ~*    开头表示不区分大小写的正则匹配 !~和!~*    分别为区分大小写不匹配及不区分大小写不匹配 的正则 /    通用匹