[英]nginx, redirect to remove a part of filename
我在解决方案中看到了几个类似的问题,但是它们对我没有用。 主要是因为在所有这些文件中,要删除的部分都位于URL的开头,但就我而言,它位于中间。 我需要将类似http://123.123.123.123:9090/v0/A8B9DEBF512F929144257AEE00262C16/ $ File / IMG_8819.jpg的URL转换为http://123.123.123.123:9090/v0/A8B9DEBF512F929144257AEE00262C16/IMG_8819.jpg (无$ File而不是A8B9DEBF512F929144257AEE00262C16和IMG_8819.jpg可能是数字和字母的任意组合)?
我尝试过这样的事情
location /v0 {
rewrite ^(v0/[^/]+)/\$File/(.*)$ $1/$2 last;
}
无济于事。 但是显然是正则表达式是错误的,因为至少nginx意识到它应该对/ v0 /做些事情,而我得到404。
本质上,您想“删除” /$File
。 为此,请捕获之前和之后的所有内容,然后放回原处:
location /v0 {
rewrite ^(.*)/\$File(.*)$ $1$2 last;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.