我有一个充满文件的目录,这些文件的名称以连续的唯一编号为前缀 - 如下所示:
/01 - Gruppe #1 - Potatisvalsen.mp3
/02 - Gruppe #1 - Wondrous Love & Hell Broke Loose in Georgia.mp3
这些可以在 http://mysite/01 - Gruppe #1 - Potatisvalsen.mp3
等处访问。
我想将 http://mysite/01.mp3
之类的调用重写为上面的正确完整 URL。
我试过“显而易见的”:
RewriteRule ^/(\d+)*\.mp3$ ./$1(.*)\.mp3
但这可能只是表明我的无知:)
这可以使用 mod_rewrite
吗?
最佳答案
mod_rewrite 无法执行此 shell 扩展。您最好将这些请求转发到 PHP 脚本并在那里加载实际文件。
第 1 步:转发到 PHP
RewriteRule ^\d{2}\.mp3$ fileloader.php?f=$0 [L,QSA,NC]
第 2 步:在 fileloader.php
- 将当前目录中的文件列表加载到关联数组中
- 使用
$_GET['f']
对这些文件名执行查找 - 提供找到的文件
关于regex - 如何猜测完整的文件名,只有前 2 个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18783204/