用htaccess更改文件名

时间:2014-11-05 14:19:59

标签: .htaccess mod-rewrite

我们有一些文件夹包含一些没有扩展名的文件

例如:

/files/a0/ffa5301469e1fb84210e8b5a4a8f3ad3
/files/ff/ff957d05512ea1e71784e811ca45f1f9
/files/f6/f6ffa309ac3fe7fb5b01b07a37bb0d1d

如您所见,此文件没有任何扩展名,我想添加扩展名并使用重写规则更改文件名:

例如:

REAL PATH : /files/a0/ffa5301469e1fb84210e8b5a4a8f3ad3
REWRITE : /files/a0/ffa5301469e1fb84210e8b5a4a8f3ad3/filename.zip

所以我需要将“/ files / a0 / ffa5301469e1fb84210e8b5a4a8f3ad3”下载为“filename.zip”

我尝试了很多来编辑.htaccess并重写规则,但我不能成功

如何使用重写规则更改文件名和文件扩展名?

1 个答案:

答案 0 :(得分:1)

您可以尝试:

RewriteEngine On

RewriteCond %{THE_REQUEST} \ /+files/([a-f0-9]{2}/[a-f0-9]+)($|\ |\?)
RewriteRule ^ /files/%1/filename.zip [L,R]

RewriteRule ^files/([a-f0-9]{2}/[a-f0-9]+)/filename.zip$ /files/$1 [L]

在文档根目录中的htaccess文件中,但是根据请求返回的标头,它可能告诉浏览器它应该使用什么类型的附件和文件名,这意味着URL看起来没有任何影响