apache启用mod_expires或mod_headers设置静态文件缓存时间

 
0 3170
泡沫随风飘
2015-08-26 17:44

apache启用mod_expires或mod_headers设置静态文件缓存时间

今天在用奇云测测试网站时,发现图片等静态文件未设置缓存。
奇云测检测未设置缓存时间<img alt="奇云测检测未设置缓存时间" src="https://assets.aliyunnew.com/uploads/image/150826/1dsx1o36gu.png?media_id=230" title="奇云测检测未设置缓存时间" width="600" >


进一步在浏览器中F12调试发现,确实没有缓存信息(如图 无Cache-Control:max-age值)

设置前无Cache-Control:max-age值<img alt="设置前无Cache-Control:max-age值" src="https://assets.aliyunnew.com/uploads/image/150826/1dxl1u53eb.png?media_id=232" title="设置前无Cache-Control:max-age值" width="600" >


由于我用的阿里云免费的linux虚拟主机,可以通过以下两种方式设置静态文件的缓存:

1、通过mod_expires设置缓存

有三种格式:

  • 语句格式1:
    ExpiresByType 类型 A/M+时间(以秒为单位)
    A:access表示从浏览器访问时间算起
    M:modification表示文件修改时间算起
    如:ExpiresByType image/png A604800 #设置png格式的缓存时间为7天

  • 语句格式2:
    ExpiresByType 类型 描述性语言
    描述性语言:modification、access、now |plus|years、months、weeks、days、hours、minutes、seconds
    如:ExpiresByType image/png “access plus 7 days” #设置png格式的缓存时间为7天

  • 语句格式3:

    <FilesMatch "\.(jpg|jpeg|png|gif|swf)$">

    ExpiresDefault A604800

    </FilesMatch>

    表示匹配jpg|jpeg|png|gif|swf格式的文件缓存为7天

将下列代码加入.htaccess文件中(本次采用的为语法格式一):

<IfModule mod_expires.c>

#开启

ExpiresActive On

#设置默认的缓存时间

ExpiresDefault A86400

#以下是针对不同的文件类型设置不同的缓存时间

ExpiresByType image/x-icon A2592000

ExpiresByType application/x-javascript A2592000

ExpiresByType text/css A2592000

ExpiresByType image/gif A604800

ExpiresByType image/png A604800

ExpiresByType image/jpeg A604800

ExpiresByType text/plain A604800

ExpiresByType application/x-shockwave-flash A604800

ExpiresByType video/x-flv A604800

ExpiresByType application/pdf A604800

ExpiresByType text/html A900

</IfModule>

2、使用mod_headers模块设置缓存

若虚拟主机不支持mod_expires,可以使用mod_headers设置

代码如下

<ifmodule mod_headers.c>

<filesmatch "\.(html|htm|txt)$">

header set cache-control "max-age=3600″

</filesmatch>

#其它文件可参照设置,此略。

</ifmodule>

效果 :

设置后总分提高<img alt="设置后总分提高" src="https://assets.aliyunnew.comhttps://assets.aliyunnew.com/uploads/image/150826/1dxc1y3sy5.png?media_id=231" title="设置后总分提高" width="600" >


设置后Cache-Control:max-age值<img alt="设置后Cache-Control:max-age值" src="https://assets.aliyunnew.com/uploads/image/150826/1foa1urmbj.png?media_id=233" title="设置后Cache-Control:max-age值" width="600" >


本文内容由互联网用户自发贡献,版权归作者所有,本站不拥有所有权也不承担相关法律责任。如需转载请按以下形式注明来源: 复制

文章来源:阿里云牛优惠资讯网
文章标题:apache启用mod_expires或mod_headers设置静态文件缓存时间
原文地址:https://aliyunnew.com/a/55.html
发布时间:2015-08-26 17:44
相关话题
没有相关话题
猜您喜欢
回帖
  • 抢占沙发~~