记录路径匹配的一个小问题

来源:互联网 发布:u盘数据恢复大师免费版 编辑:程序博客网 时间:2024/05/24 07:31

 location smiley_019.png {

root html/image;
}

location ~\.(gif|jpg|png)$ {
root E:/Pictures;

}


这种情况下只会匹配到第二个,第一个前面缺少了“/”号(对于非正则表达形式的需要添加)


添加了之后:

location /smiley_019.png {

root html/image;
}

location ~\.(gif|jpg|png)$ {
root E:/Pictures;

}

这种情况下第一个还是匹配不到的,因为 nginx 对于location的匹配规则,这里的第二个会覆盖第一个


所以,需要

1. 精确匹配

location = /smiley_019.png {

root html/image;
}

2. 截断后续正则匹配

location ^~ /smiley_019.png {

root html/image;
}


这样第一个的匹配才不会被第二个覆盖掉。


对于这部分的匹配规则还在摸索学习中……



0 0