通过 htaccess 重命名下载文件

通过 htaccess 重命名下载文件

我目前在服务器上有这种格式的文件

https://example.com/files/{group_no}/{date}/{file_no}-file.txt

存在:

  • group_no 一个整数(NN)
  • 日期格式 YYYY-MM-DD
  • file_no 一个整数(NN)

例子:

https://example.com/files/12/2021-03-17/01-file.txt

我希望下载的文件是类似 YYYY-MM-DD-NN-NN-file.txt 的文件。

我不确定是否可以使用 htaccess Rewrite 规则来实现这一点

理论上,我可以查找 3 个正则表达式组,第一个是在 URL 中找到 files/ 之后的 group_no NN,第二个组是在找到下一个 / 之前,第三个组是在最后一个 / 之后,然后只需添加类似 $1-$2-$3 的内容

我尝试过这样的事情

RewriteEngine on
RewriteBase /
RewriteRule ^.*\/files\/(.+)\/(.+)\/(.+txt)$ $1-$2-$3 [L]

但它似乎不起作用。 https://regex101.com/r/hFrffK/1

有任何想法吗?

相关内容