Nginx 的 location 匹配规则

1.location 配置有什么用?

location 配置用于匹配指定 URI,然后对匹配的请求进行相关处理。

2.语法规则

location [=|~|~*|^~] /uri/ {...}

符号 含义
= 表示精确匹配
^~ 表示 URI 以某个常规字符串开头。Nginx 不对 URL 做编码,因此请求为 /static/20%/aa,可以被 ^~ /static/ /aa 匹配到
~ 表示区分大小写的正则匹配
~* 表示不区分大小写的正则匹配
/ 通用匹配,任何请求都会匹配

多个 location 配置的情况下匹配顺序为(参考资料而来,还未实际验证):

  • 首先匹配 =
  • 其次匹配 ^~
  • 其次是按文件中顺序的正则匹配
  • 最后是交给 /
  • 当有匹配成功时候,停止匹配,按当前匹配规则处理请求

例子,有如下匹配规则:

location = / {
    #规则A
}

location = /login {
    #规则B
}

location ^~ /static/ {
    #规则C
}

location ~ \.(gif|jpg|png|js|css)$ {
    #规则D
}

location ~* \.png$ {
    #规则E
}

location / {
    #规则F
}

那么产生的效果如下:

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • Nginx简介 解决基于进程模型产生的C10K问题,请求时即使无状态连接如web服务都无法达到并发响应量级一万的现...
    魏镇坪阅读 2,126评论 0 9
  • I/O模型Nginx介绍Nginx的安装和目录结构Nginx的配置Nginx的编译安装 一、I/O模型 (一)I/...
    哈喽别样阅读 923评论 0 4
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 81,403评论 21 356
  • 我大学学的是传统行业,互联网是大势所趋,我决定成为一名互联网人。技术,产品,运营,我该选择哪一个?关于代码...
    Flow_13阅读 165评论 0 0