我無法弄清楚如何使用正確命名下載的空格的文件名。名字在第一個空格處被打破。例如。文件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