我们继承了一个系统,最初使用原始文件的文件名允许文件上传 - 我们现在创建一个哈希并重命名所有上传,但是大约有20,000个遗留文件,其中大部分包含文件名中的+和(),例如bob_smith(2).DOC
我们通过htaccess rewriterule传递所有文件,任何包含这些字符的文件都会出错 - 手动更改文件的所有文件名和相应的数据库列不是一个可行的选项,所以我们怎样才能逃避这些运行时的字符,所以重写规则仍然有效吗?
目前的重写是:
RewriteRule ^view/([a-zA-Z0-9.\-_]+)\.php /documents/view.php?doc=$1 [L]