【发布时间】:2019-09-18 12:19:24
【问题描述】:
我有一个用户可以上传文件的网站,如果他们上传文件名中包含特殊字符的文件,则文件名将被编码(例如:iordănescu.pdf 将变为 iord%C4%83nescu.pdf)
这会导致无法从网站上的链接打开这些文件,我无法使用website.com/iordănescu.pdf 或website.com/iord%C4%83nescu.pdf 打开文件它仅在编码文件名被编码时才有效(所以双重编码)像这样:website.com/iord%25C4%2583nescu.pdf
这是我在文件上传到的文件夹中的 htaccess 文件:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
# remove language from url for file viewing
RewriteRule ^[A-Za-z]{2}/frontend/files/jobs/(.*)$ frontend/files/jobs/$1 [B,L,R=301]
这将重定向到:website.com/iordănescu.pdf,并将给出以下错误:在此服务器上找不到请求的 URL /frontend/files/jobs/iordănescu.pdf。
【问题讨论】:
标签: apache .htaccess urlencode