我需要从中删除 .mp4www.foo.com/bar/rab/video.mp4
所以我剩下www.foo.com/bar/rab/video
到目前为止
location ~* ^/bar/rab/(.*)$ {
rewrite ^/bar/rab/(.*)$/$(.mp4) /$1/$2 break;
proxy_pass https://foo.s3.amazonaws.com;
}
然而我认为我错了,有人可以解释并帮助我吗?
:)
答案1
怎么样:
location ~* ^/bar/(.*).mp4$ {
rewrite ^/bar/(.*).mp4 /bar/$1 break;
proxy_pass https://foo.s3.amazonaws.com;
}
以下是 nginx 使用的 Perl 兼容正则表达式的一些内容:
http://marvin.cs.uidaho.edu/~heckendo/CS445/regex.html
这是一个正则表达式测试器:
因此,如果您在正则表达式字段(重写的第一部分)中粘贴“^/bar/(.*).mp4”,并在文本字段中输入“/bar/rab/foo.mp4”,然后在替换字段(重写的第二部分)中输入“/bar/$1”,您将获得预期的“/bar/rab/foo”。