【问题标题】:remove first folder in nginx删除 nginx 中的第一个文件夹
【发布时间】:2021-04-05 17:36:11
【问题描述】:

我有一些网址,例如:

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 错误

- PS:用户名可以是任何东西

【问题讨论】:

    标签: regex nginx url-rewriting


    【解决方案1】:

    我没有测试它,但基于我认为 nginx 使用 pcre 库

    rewrite ^/.*?/(.*)$ /$1 last;

    会起作用的。

    .*? 匹配零到无限次之间的任何字符,尽可能少,根据需要扩展(惰性)

    【讨论】:

      猜你喜欢
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 2014-02-15
      • 2023-03-09
      • 1970-01-01
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多