nginx 中的 location 如何匹配 指定了开头和结尾 的地址

新手上路,请多包涵

如下,我想匹配以 group1 开头,以 .png|jpg 结尾的地址,我该怎么写呢?
/group/test/images/xxxx.jgp

我的 nginx 配置项,该配置是不对的,求教~

server {
   # ...
   location ~ /group([0-9])/*/*\.(gif|jpg|jpeg|png|bmp|swf)$ {
     # ...
  }
}
阅读 6.3k
2 个回答

~ 是匹配正则表达式的。

不要把正则表达式跟 bash 的路径匹配(pathname expansion)混在一起。

server {
   # ...
   location ~ ^/group1.*\.(jpg|png)$ {
     # ...
  }
}

这里 可以匹配到

/group1abc.jpg 
/group1/abc.jpg 
/group1/abc.png 

不能匹配

/group2abc.jpg 
/group3/abc.jpg 
/group4/abc.png 
/groupabc.jpg 
/group/abc.jpg 
/group/abc.png 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题