location 指令配置路径匹配规则

在 Nginx 中,location指令用于配置路径匹配规则,决定请求如何被处理。以下是一些常见的 Nginx 路径匹配规则:

精确匹配 (=):

location = /path表示精确匹配/path路径。

location = /path {

    # 处理精确匹配的请求

}

前缀匹配 (^~):

location ^~ /prefix表示前缀匹配,即匹配以/prefix开头的路径。

location ^~ /prefix {

    # 处理前缀匹配的请求

}

正则表达式匹配 (~和~*):

location ~ /regex表示区分大小写的正则表达式匹配,而location ~* /regex表示不区分大小写的正则表达式匹配。

location ~ /regex {

    # 处理正则表达式匹配的请求(区分大小写)

}

location ~* /regex {

    # 处理正则表达式匹配的请求(不区分大小写)

}

location ~* \.(jpg|jpeg|png)$ {

    # 不区分大小写的正则表达式匹配

}

普通匹配:

普通匹配是按照前缀的顺序进行的,默认是不区分大小写的。

location /path {

    # 处理普通匹配的请求

}


总结:

=                         字面精确匹配;

^~                        最大前缀匹配;

/                           不带任何前缀:最大前缀匹配;

~                           大小写相关的正则匹配;

~*                          大小写无关的正则匹配;

Location规则匹配优先级总结如下:

(location =) > (location 完整路径) > (location ^~ 路径) > (location ~|~* 正则顺序) > (location 部分起始路径) > (location  /)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容