admin 发表于 2017-12-22 10:10

Apache 如何设置网页静态内容缓存时间

为什么要设置网页静态内容缓存时间
对于网页上变化很少的静态资源,可以通过设置客户端缓存时间,减少请求,加快页面加载速度,SEO加分。网页加载速度越快,排名越好。

首先,开启LoadModule expires_module modules/mod_expires.so模块。

然后,在httpd.conf中添加如下内容:
<IfModule mod_expires.c>
# enable expirations
ExpiresActive On
ExpiresDefault A2592000
# expire images after a month in the client's cache
ExpiresByType image/gif A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
# css/js
ExpiresByType text/css "access plus 4 weeks"
ExpiresByType text/javascript "access plus 4 weeks"
# html
ExpiresByType text/html "access plus 2 days"
</IfModule>
配置解释

ExpiresDefault A2592000
这是一个全局配置,所有没有在下面专门制定类型的MIME类型,都缓存1个月;

ExpiresByType image/gif A2592000
这句话表示设置gif图片的缓存时间为1个月,A后面的数字是秒,也可以写成如下形式:

ExpiresByType text/css "access plus 4 weeks"
这句话表示设置css文件的缓存时间为1个月,只是一个月的表示方式跟图片的不一样。

ExpiresByType text/html "access plus 2 days"
这句话表示设置html文档的缓存时间为2天。

A2592000前面的A就是Access的意思,表示从获取这个资源开始计算过期时间;还有个参数是M,Modification的意思,不建议使用M。因为如果你的文档如果是动态生成的,而不是从磁盘上直接获取的已经存在资源,Apache在回应浏览器的时候,就不会在Http Head中增加expire时间(max-age)。

APACHE2.4对mod_expires.so模块的官方解释:http://httpd.apache.org/docs/2.4/mod/mod_expires.html,学习官方说明总是最好的学习途径,好好研究,设计自己的最佳配置。

页: [1]
查看完整版本: Apache 如何设置网页静态内容缓存时间