让浏览器下载而不是打开某些文件的简单方法 (Apache)

很多时候,我们希望能让浏览器下载某些Web服务器上的文件,而不是直接打开它们。常见的比如txt、jpg等文件,大多数浏览器通常会默认选择打开而不是下载。这就需要我们在服务器上作一些简单的配置。实现的方法有很多种,这里我写一下现在比较常用的一种简单方法,通过.htaccess文件来配置,适用于Apache。

首先要让.htaccess文件生效,具体就不再写了,不了解的参考这里:Apache开启重定向HTTP至HTTPS

然后在网站放置下载资源的目录创建.htaccess文件,并写入下列内容,这里以.txt和.jpg为例。

AddType application/octet-stream .txt
AddType application/octet-stream .jpg

设置完之后,只要是在该文件夹下的.txt和.jpg文件,浏览器默认会下载该文件而不是直接打开。

本站已被加入HSTS Preload List

大概一个多月前,本站启用了HSTS,并且配置了HSTS Preload,然后向https://hstspreload.appspot.com/提交了申请,虽然审核比较慢,但前几天终于在HSTS preload list中找到了本站的域名。通过Qualys SSL Labs,可以看到最先是Chrome的preload list中收录了本站,之后没过几天,几个主流的浏览器都陆续收录了本站的域名,HSTS完美了,从此以后不用担心任何劫持了。

关于HSTS的详细设置,请参见另一篇文章:Apache开启HSTS (HTTP Strict Transport Security)