regex - 如何猜测完整的文件名,只有前 2 个字母

标签 regex apache .htaccess mod-rewrite

我有一个充满文件的目录,这些文件的名称以连续的唯一编号为前缀 - 如下所示:

/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

  1. 将当前目录中的文件列表加载到关联数组中
  2. 使用 $_GET['f'] 对这些文件名执行查找
  3. 提供找到的文件

关于regex - 如何猜测完整的文件名,只有前 2 个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18783204/

相关文章:

java - 用正斜杠替换反斜杠

apache - 使用 base href 时请求 url 问题

apache - Node.js 和 Apache ...如何在两者之间共享 POST 数据?

php - 在 Android 上运行 AMP (apache mysql php)

mysql - HTAccess - 令人困惑的干净网址

html - 字体图标不显示

python - 使用多个分隔符拆分字符串,并保留*一些*分隔符,但不是全部

java - 正则表达式中的逻辑或

php - Openshift 将 wp-admin 重定向到 https

r - 使用正则表达式提取姓名和数字