apache配置http缓存

运维技巧 代码 1419浏览
第1步
LoadModule expires_module modules/mod_expires.so
在httpd.conf中,找到上面的代码,然后将前面的#去掉

第2步
在httpd.conf中加入以下代码,可以加到任何空白地方,不了解apache的朋友,如果担心加错地方,就放到http.conf文件的最后一行

<IfModule mod_expires.c>
    ExpiresActive On #激活http缓存,也就是个开关,必须有的一段代码
    ExpiresDefault A604800 #默认缓存时间为604800秒,也就是7天,A表示以客户端时间为准
    ExpiresByType text/css A3600 #对css文件缓存3600秒,也就是1小时,A表示以客户端时间为准
    ExpiresByType text/html A3600 #对html文件缓存3600秒,也就是1小时,A表示以客户端时间为准
    ExpiresByType application/x-javascript A3600 #对javascript文件缓存3600秒,也就是1小时,A表示以客户端时间为准
    ExpiresByType image/gif “access plus 2 month” #对gif图片缓存2个月,以客户端时间为准
    ExpiresByType image/jpeg “access plus 2 month” #对jpeg和jpg图片缓存2个月,以客户端时间为准
    ExpiresByType image/png “access plus 2 month” #对png图片缓存2个月,以客户端时间为准
    ExpiresByType image/x-icon “access plus 2 month” #对浏览器小图标缓存2个月,以客户端时间为准
    ExpiresByType application/x-shockwave-flash A2592000 #对flash文件缓存2592000秒,也就是1个月,A表示以客户端时间为准

    #特别注意也可以使用 ExpiresByType text/css M3600  这里的M表示以文件最后修改时间为准缓存1小时,例如有些时候,我们的HTML是大批量定时更新的,这个时候就可以用到M

  Header unset Pragma #删除掉http头信息中的Pragma,不懂的可以google一下Pragma,他也是控制浏览器缓存的,不过是用于http1.0标准
  FileETag None
  Header unset ETag #这段代码和上面一段的作用是不使用http1.1标准中的ETag属性
  <FilesMatch “\.(js|css|ico|pdf|flv|jpg|jpeg|png|gif|mp3|mp4|swf)$”> #针对js|css|ico等后缀的文件进行单独设置
  #Header set Expires “Thu, 15 Apr 2013 20:00:00 GMT”
  Header unset Last-Modified #不使用http头信息中的Last-Modified属性,Last-Modified是指文件最后修改时间
  Header append Cache-Control “public” #设置为可被任何缓存区缓存
  </FilesMatch>
</IfModule>

转载请注明:代码'S Blog » apache配置http缓存