我有一些URL,比如:
http://example.com/username/file.zip
http://example.com/username/videos/aaa.avi
http://example.com/username/videos/abc/asdfdef/aaa.avi
文件的真实路径是:
/file.zip
/videos/aaa.avi
/videos/abc/asdfdef/aaa.avi
所以基本上我需要删除URL中的第一个文件夹我试着使用这个重写规则:
rewrite ^/.*/(.*)$ /$1 last;
但它删除了所有文件夹,只grep了文件名,只对第一个URL有效,其余的都有404错误
-p.S:用户名可以是任何东西
我没有测试它,但基于nginx使用pcre库,我认为
rewrite ^/.*?/(.*)$ /$1 last;
会起作用。
.*?
匹配零次和无限次之间的任何字符,尽可能少地匹配,根据需要扩展(惰性(