location = /uri #开头表示精确匹配,只有完全匹配上才能生效。 location ^~ /uri #开头对URL路径进行前缀匹配,并且在正则之前。 location ~ pattern #开头表示区分大小写的正则匹配。 location ~* pattern #开头表示不区分大小写的正则匹配。 location /uri #不带任何修饰符,也表示前缀匹配,但是在正则匹配之后。
1、~ # 使用波浪符“ ~”区分大小写正则匹配,如 location ~ /abc { } 2、~* #不区分大小写的正则匹配,如 location ~* /abc { } 3、^~ # 匹配路径的前缀,如果找到停止搜索,如 location ^~ /abc { } 4、= #精确匹配 如 location = /abc { } 5、 #普通路径前缀匹配 如 location /abc { } ...
比如在前缀匹配:location /dir01与location /dir01/dir02,如有请求http://localhost/dir01/dir02/file将最终匹配到location /dir01/dir02 示例 nginx配置示例: location = / { echo "规则A"; } location = /login { echo "规则B"; } location ^~ /static/ { echo "规则C"; } location ^~ /static...
访问 http://localhost/a.xhtml 不会匹配规则F和规则G,http://localhost/a.XHTML不会匹配规则G,因为不区分大小写。规则F,规则G属于排除法,符合匹配规则但是不会匹配到。 访问 http://localhost/qll/id/1111 则最终匹配到规则H,因为以上规则都不匹配。 4、location URI结尾带不带 / 如果URI 结构是 domain...
在Nginx中,匹配URL的开头和结尾通常涉及前缀匹配和正则表达式匹配。下面将分别解释Nginx如何匹配URL的开头和结尾,并提供相应的配置示例。 1. 解释Nginx如何匹配URL开头 Nginx通过location指令来匹配请求的URI(统一资源标识符)。要匹配URL的开头,可以使用前缀匹配或正则表达式匹配。 前缀匹配:使用普通字符串作为location的值...
~*开头表示不区分大小写的正则匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则 /通用匹配,任何请求都会匹配到 优先级: 等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他location的匹配项 ^~和通用匹配。使用前缀匹配,不支持正则表达式,如果有多个location...
例:location ~ \.php$:使用正则表达式匹配以 .php 结尾的文件 ④ 通用匹配 / 表示通用匹配,如果没有与请求匹配的location块,Nginx 将使用默认的 location 块来处理请求。 3、优先级: = > ^~ > ~ | ~* | !~ | !~* > / 精确匹配 > 模糊开头匹配 > 整段模糊匹配 > 通用匹配 ...
”,说明没有被“ location / {…deny all;} ”匹配,否则会 403 Forbidden ,但 /index.html 的确也是以“ / ”开头的,只不过此时的普通 location / 的匹配结果是“最大前缀”匹配,所以 Nginx 会继续搜索正则 location , location ~ \.html$ 表达了以 .html 结尾的都 allow all; 于是接着就访问到了实际...