nginx的location匹配规则

本文详细解释了Nginx配置中location指令的多种匹配模式,包括精确匹配、前缀匹配、正则表达式匹配以及命名location的使用。还介绍了URI规范化过程和匹配流程,以及匹配未成功时的404处理。

  nginx提供了非常灵活的location uri路径匹配功能。在配置文件中格式如下:

语法:	location [ = | ~ | ~* | ^~ ] uri { ... }
        location @name { ... }
默认值:	—
上下文:	server, location

  先总结一下location的类型:

  • 精确匹配的location
    例如:location = /a.txt
    匹配一个为/a.txt的uri,完整的url可以是 http://host/a.txt?q=xxx

    再如:locaiton = /
    匹配一个为/的uri, 完整的url可以是 http://host/?q=xxx

  • 模糊匹配的location

    • 前缀匹配
      例如:location /a/b/c/
      匹配一个以/a/b/c/为前缀路径的uri
      完整的url可以是 http://host/a/b/c/x.jpg,或者:http://host/a/b/c/xxx/m.php?q=xxxx

    • 正则匹配

      • 不忽略大小写
        例如:location ~* .(gif|jpg|jpeg)$
        匹配所有以gif或者jpg或者jpeg为文件扩展名的uri,并且后缀名不区分大小写

      • 忽略大小写
        例如: location ~ .mp4$
        匹配所有以mp4为扩展名的uri,并且区分后缀名的大小写

      • 正则前缀匹配
        例如:location ^~ /images
        匹配所有以/images开头的uri

  • 默认匹配的location
    例如:location /
    匹配所

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农心语

您的鼓励是我写作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值