繁体   English   中英

nginx,重定向以删除文件名的一部分

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM