转义文件名中的特殊字符

时间:2014-10-17 19:55:15

标签: php .htaccess escaping

我们继承了一个系统,最初使用原始文件的文件名允许文件上传 - 我们现在创建一个哈希并重命名所有上传,但是大约有20,000个遗留文件,其中大部分包含文件名中的+和(),例如bob_smith(2).DOC

我们通过htaccess rewriterule传递所有文件,任何包含这些字符的文件都会出错 - 手动更改文件的所有文件名和相应的数据库列不是一个可行的选项,所以我们怎样才能逃避这些运行时的字符,所以重写规则仍然有效吗?

目前的重写是:

RewriteRule ^view/([a-zA-Z0-9.\-_]+)\.php /documents/view.php?doc=$1 [L]

0 个答案:

没有答案