一群友使用卡卡网的网站速度诊断工具诊断网站速度时,发现有几个需要优化的地方,其中较为重要的是“启用浏览器缓存”。诊断结果显示,网站尚未启用浏览器缓存。
图一:浏览器缓存未启用
群友找我帮忙设置一下,据群友说,网站使用的是阿里云主机,windows系统,apache服务器。我一开始以为很容易就搞定了,因为我在本机就安装有apache软件,并且知道启用浏览器缓存的方法。不过,当我通过QQ远程看到群友的阿里云服务器界面时,真的很陌生,因为我这是第一次看到阿里云服务器的windows界面。
寻找Apache安装位置
启用浏览器缓存是在Apache的配置文件里设置的,我于是直奔主题,直接进入C盘,试图找到Apache的安装位置,可是各个文件夹点了很久,也没发现Apache安装目录。
C盘没找到,接着看D盘,但在D盘的主目录里也没有看到Apache的文件夹。
在D盘打开各个文件夹点了几下,仍然没有看到Apache文件夹,再回到C盘,又捣鼓了一下,还是没有找到Apache文件夹。
这时有点气馁了,奇怪,怎么没看到有Apache的安装目录?
果断结束QQ远程!
过了一会,再次QQ远程过去。之后使用“搜索”功能,终于在D盘的一个不起眼文件夹里发现了Apache文件夹!
Apache启用浏览器缓存
找到了Apache安装目录,便可以立即设置了。
方法其实很简单,一下就做好了。操作如下:
打开 apache\conf\httpd.conf 这个文件,
1、把#LoadModule expires_module modules/mod_expires.so的注释去掉
图二:Apache启用浏览器缓存
2、在后面添加如下代码:
<IfModule expires_module>
ExpiresActive On
ExpiresByType text/html "access plus 1 days"
ExpiresDefault "access plus 1 month"
</IfModule>
图三:Apache启用浏览器缓存
设置完毕,重启Apache服务器。
再诊断看看,结果如下图所示:
图四:启用浏览器缓存成功
从上图四看到,只剩下三个文件是“未指定有效期”,这是因为前面两个文件是php动态网页(动态网页无需缓存),第三个文件是一个错误请求(该网站无ico图标),而其他的文件都已经成功启用了浏览器缓存。