nginx 正则 结尾 配置_Nginx location配置 正则表达式

匹配符号说明

~       区分大小写匹配

~*     不区分大小写匹配

!~      区分大小写不匹配

!~*    不区分大小写不匹配

^      以什么开头的匹配

$      以什么结尾的匹配

*      代表任意字符

文件及目录匹配

-f和!-f用来判断是否存在文件

-d和!-d用来判断是否存在目录

-e和!-e用来判断是否存在文件或目录

-x和!-x用来判断文件是否可执行

匹配符优先级

1.=

2.空匹配符,满足精确匹配时

3.^~

4.~或~*

5.空匹配符,满足以指定模式开始时的匹配时

匹配规则是:最大前缀匹配(与顺序无关)

如果恰好是严格精确匹配结果或者加有前缀“ ^~ ”或“ =     则停止搜索正则 location

对于正则 location 的匹配规则是:按编辑顺序逐个匹配(与顺序有关)

只要匹配上,就立即停止后面的搜索

实例分析:

location = / {  configuration A }

= 表示精确的查找地址,如location = /  它只会匹配uri为/的请求,

如果请求为/index.html,将查找另外的location,而不会匹配这个,

当然可以写两个location,location = /和location /,这样/index.html将匹配到后者

如果你的站点对/的请求量较大,可以使用这个方法来加快请求的响应速度。

location  / {  configuration B  }

遵守普通location 的最大前缀匹配,由于任何URI 都必然以“/ ”根开头,所以对于一个URI ,如果有更specific 的 匹配,那自然是选这个更specific 的,如果没有,“/ ”一定能为这个URI 垫背(至少能匹配到“/ ”),也就是说“ location / {} ”有点默认配置的味道,其他更specific的配置能覆盖overwrite 这个默认配置这也是为什么我们总能看到location / {} 这个配置的一个很重要的原因)

location ^~ /images/ {  configuration C }

匹配任何已/images/开头的查询并且停止搜索。任何正则表达式将不会被测试。

location ~* .(gif|jpg|jpeg)$ {   configuration  D }

匹配任何已.gif、.jpg 或 .jpeg 结尾的请求,但是 所有  /images/开头的请求 会匹配到  configuration C

location  @named {  configuration  E }

它是专门用来处理“内部重定向(internally redirected )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值