nginx location 博客分类: nginx nginx location
程序员文章站
2024-02-23 11:29:04
...
All remaining directives with conventional strings, longest match first. If this match used the ^~ prefix, searching stops.
If #3 yielded a match, that result is used. Else the match from #2 is used.
所有剩下的常规字符串,最长的匹配。如果这个匹配使用^〜前缀,搜索停止。
如果第3条规则产生匹配的话,结果被使用。否则,如同从第2条规则被使用。
---------- 翻译成人话 ----------
先找所有的location
找到=匹配, 就不再找了, 执行
上面的没有, 继续找
找到^~, 就不再找了, 执行
上面的没有, 继续找
找到正则, 按 1.最大匹配, 2. 物理顺序 定优先
上面的没有, 继续找
找到普通匹配, 按 1.最大匹配, 2. 物理顺序 定优先
语法 | 匹配规则 |
空 | 普通匹配(遵循最大前缀匹配规则,优先度比正则低) |
= | 精确(严格)匹配, 优先度最高,后续不再匹配正则 |
^~ | 非正则匹配(依然遵循最大前缀匹配规则),后续不再匹配正则 |
~ | 表示区分大小写的正则匹配 |
~* | 表示不区分大小写的正则匹配 |
/ | 通用匹配,任何请求都会匹配到(本质上等同于语法空) |
---------- 翻译成人话 ----------
第一优先级
=, ^~
第二优先级
正则, 同样正则下, 最大匹配和物理顺序
剩下
普通, 最大匹配和物理顺序
##### location 匹配测试 ##### 普通location, 这个(空)不能与 ^~一样, 因为同属普通匹配 #location /a/c { return 555; } #正则location location ~ /a/c { return 999; } #正则location location ~* /a/c { return 888; } #普通location, 第二优先级, 与 (空)匹配 不能一样, 因为同属普通匹配 #location ^~ /a/c { # return 777; #} #精确location, 最大优先级, 可以与普通匹配一样 location = /a/c { return 666; }
推荐阅读
-
nginx location 博客分类: nginx nginx location
-
在nginx里通过header进行分流 博客分类: nginx
-
nginx location 博客分类: nginx nginx location
-
nginx 正向代理 博客分类: nginx curl
-
在nginx里通过header进行分流 博客分类: nginx
-
nginx 正向代理 博客分类: nginx curl
-
nginx expires 绝对过期时间 博客分类: nginx nginxexpires
-
nginx expires 绝对过期时间 博客分类: nginx nginxexpires
-
Nginx核心模块——HTTP中的配置指令location和rewrite介绍
-
Nginx 配置location root