.htaccess - 使用 .htaccess 强制下载文件

标签 .htaccess download

所以我在 htaccess 中使用以下规则:

AddType SCHM wsc

<FilesMatch "\.(wsc)$">
  ForceType SCHM
  Header set Content-Disposition attachment
</FilesMatch>


但是当我去file's location它不会强制下载

最佳答案

由于该问题已在评论中得到解答,因此仅以 Stackoverflow 指定它的方式提供答案。

就像在问题中一样,它可以通过使用 Apache 2 的 mod_headers 来解决。因为 Content-Disposition不是 HTTP 标准的一部分,您可以添加一些其他 header 来实现您的目标。

<FilesMatch "\.(wsc)$">
    Header set Content-Type application/octet-stream
    Header set Content-Disposition attachment
</FilesMatch>

您应该考虑的另一件事是您的浏览器可能会缓存服务器的响应。浏览器仍会发送请求,但请求将包含一个节点,该节点表明浏览器已经拥有来自给定日期的文件。如果文件自给定日期以来未更改,则服务器不会将新 header 发送到您的浏览器。这意味着如果您更改 .htaccess,您可能不会看到任何影响,直到您禁用浏览器中的缓存或更改文件的时间戳。

您还可以添加
Header set X-Content-Type-Options "nosniff"

为了更好的兼容性(可能还有安全性)。它可以防止浏览器进行 MIME 类型嗅探,这会忽略声明的内容类型。见 here想要查询更多的信息。

关于.htaccess - 使用 .htaccess 强制下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33187793/

相关文章:

.htaccess - Joomla 网站 .htaccess 不断被黑

python请求很慢

javascript - Chrome 浏览器上的自动文件下载限制为 10 个文件

ios - 使用最新的 SDK 从谷歌驱动器下载文件?

.htaccess 结合了 301 重定向和 URI 重写

php - Laravel 路由错误 404

.htaccess - 防止目录访问

http - Golang http。获得太多重定向

php - 强制使用 PHP、 header 下载文件

.htaccess - htaccess 无尾随斜杠策略 : non existing urls (404) should not redirect