所以我在htaccess中使用以下规则:
AddType SCHM wsc
<FilesMatch "\.(wsc)$">
ForceType SCHM
Header set Content-Disposition attachment
</FilesMatch>
但是当我转到file's location时,它不会强制下载
答案 0 :(得分:2)
由于问题已经在评论中得到解答,这只是为了提供Stackoverflow指定它的方式的答案。
在问题中,可以使用 Apache 2 的 mod_headers 来解决。由于Content-Disposition
不是 HTTP 标准的一部分,因此您可以添加其他标题以实现目标。
<FilesMatch "\.(wsc)$">
Header set Content-Type application/octet-stream
Header set Content-Disposition attachment
</FilesMatch>
您应该考虑的另一件事是您的浏览器可能会缓存服务器的响应。浏览器仍将发送请求,但请求将包含浏览器已在给定日期拥有该文件的节点。如果自给定日期以来文件没有更改,则服务器不会将新标头发送到您的浏览器。这意味着如果您更改 .htaccess ,在浏览器中禁用缓存或更改文件的时间戳之前,您可能看不到任何影响。
您也可以添加
Header set X-Content-Type-Options "nosniff"
以获得更好的兼容性(也许是安全性)。它阻止浏览器进行MIME类型的嗅探,这会忽略声明的内容类型。有关详细信息,请参阅here。
答案 1 :(得分:1)
RFC2616对于19.5.1内容处理说法
如果在带有application / octet-stream内容类型的响应中使用此标头,则隐含的建议是用户代理不应显示响应,而是直接输入“save response as ...”对话框。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1