location [=|~|~*] /uri/ { … } ~ #波浪线表示执行一个正则匹配,区分大小写 ~* #表示执行一个正则匹配,不区分大小写 = #进行普通字符精确匹配 URI匹配模式 location的指令分为两种匹配模式 1.普通字符串匹配: 以=开头或者没有带正则引导符号(~)规则 2.正则匹配:以()开头或者(*)开头的表示正则匹配 ...
1.location=# 精准匹配2.location^~# 带参前缀匹配3.location~#正则匹配(区分大小写)4.location~*# 正则匹配(不区分大小写)5.location/a# 普通前缀匹配,优先级低于带参数前缀匹配。6.location/#任何没有匹配成功的,都会匹配这里处理 案例一:第一个前缀匹配^~命中以后不会再搜寻正则匹配,所以会第一个命中。 s...
location = /login {精确匹配,必须是127.0.0.1/login #规则B } location ^~ /static/ {非精确匹配,并且不区分大小写,比如127.0.0.1/static/js. #规则C } location ~ \.(gif|jpg|png|js|css)$ {区分大小写,以gif,jpg,js结尾 #规则D } location ~* \.png$ {不区分大小写,匹配.png结尾的 #规则E ...
http://website.com/abcde不匹配,不能匹配正则表达式 ##「^~」修饰符:前缀匹配 如果该 location 是最佳的匹配,那么对于匹配这个 location 的字符串, 该修饰符不再进行正则表达式检测。注意,这不是一个正则表达式匹配,它的目的是优先于正则表达式的匹配 查找的顺序及优先级 当有多条 location 规则时,nginx 有一...
当location指令中的URI以“/”开头时,它表示一个前缀匹配。这种匹配规则会匹配所有以该前缀开头的请求URI。例如,location /会匹配所有请求,因为它是一个最基础的前缀,所有URI都会以“/”开头。 需要注意的是,这里的“/”并不是特指根目录,而是一个匹配所有请求的通用前缀。因此,location /通常被用作处理所有未匹...
location ^~ /uri #开头对URL路径进行前缀匹配,并且在正则之前。 location ~ pattern #开头表示区分大小写的正则匹配。 location ~* pattern #开头表示不区分大小写的正则匹配。 location /uri #不带任何修饰符,也表示前缀匹配,但是在正则匹配之后。 location / #通用匹配,任何未匹配到其它location的请求都会匹配到...
}location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] }location /documents/ { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条 ...
https://nginx.org/en/docs/http/ngx_http_core_module.html#location location 规则详解 Nginx的location指令工作原理如下: 位置匹配: Nginx根据规范化的URI进行位置匹配。 解码以"%XX"形式编码的文本。 解析相对路径组件".“和”…"的引用。 可能将两个或多个相邻的斜杠压缩为单个斜杠。