htaccess 动态重命名 mp3

htaccess 动态重命名 mp3

我希望当用户下载位于我服务器上的所有 mp3 文件时,在文件名末尾添加“-xxx”。示例:

服务器上的文件:file.mp3

当用户下载时:file-xxx.mp3

我用谷歌搜索了一些非常接近我想要的东西:

https://forums.digitalpoint.com/threads/htaccess-rename-mp3.128317/

因为我不想局限于任何特定的文件夹,并且想动态重命名所有的.mp3,所以我尝试了这个:

RewriteEngine on
RewriteBase /
RewriteRule ([^.]+)-by-domain\.mp3$ $1.mp3 [L]

但由于某种原因,我无法使其工作,文件无法重命名。

任何帮助都将不胜感激。谢谢!

答案1

在我的服务器上测试时,以下内容有效

RewriteEngine 开启
重写库 /
重写规则 ^/(.*)-([0-9]+).mp3 /$1.mp3

它的工作原理如下 - RewriteRule 分为 4 个部分,

  1. 包括路径和文件名第一部分的前缀
  2. 这 ”-”
  3. 文件中的数字
  4. 文件的末尾部分(.mp3)

该脚本仅从原始文件中获取前缀 - 部分 ^/(.*),然后将其重建为新的 url($1 包含上面部分括号之间的部分)。

([0-9]+) 检测唯一编号,因此如果您以后想要做一些更花哨的事情,您可以编写(例如)一个 PHP 脚本,允许用户下载文件,并通过将重写规则更改为来记录有关该文件的信息

重写规则 ^/(.*)-([0-9]+).mp3 /path/process.php?mp3=$1&userid=$2

(当然,您也需要编写 php 脚本,但是上面的例子展示了重写规则如何将 URL 处理成部分的逻辑。)

相关内容