我无法弄清楚如何使用正确命名下载的空格的文件名。名字在第一个空格处被打破。例如。文件htaccess打破文件名与空间
how are you.pdf
下载为
how
下面是我的代码。我尝试了很多东西,但都没有做到这一点。
RewriteEngine On
##RewriteBase/
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?consciousnesscoachingacademy.com [NC]
RewriteRule \.(.*)$ - [NC,F,L]
RewriteCond %{QUERY_STRING} ^filename=(.*)$
RewriteRule ^download\.php$ %1
RewriteRule (.*) - [E=file:$1]
Header set Content-type "octet-stream"
Header set Content-disposition "attachment; filename=%{file}e" env=file
有趣的问题。我甚至不确定是否有关于如何在“Content-disposition”和类似的HTTP标头中编码文件名的真实规范,所以我不知道mod_headers是否有正确的工具。 –
文件名应该用双引号括起来,[按照规范](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1)。 '内容 - 处置:附件; filename =“how you.pdf”'。这将解决您的文件被下载为“如何”的问题。 – Bjorn