mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的。


启用expires_module模块

LoadModule expires_module modules/mod_expires.so


启用有效期控制

ExpiresActive On


全局配置,放在主conf或者虚拟域名的conf中

<IfModulemod_expires.c>ExpiresActiveOnExpiresDefault"accessplus12months"#禁止ajax的缓存ExpiresByTypeapplication/json"accessplus0seconds"#ExpiresByTypetext/html"accessplus12months"#ExpiresByTypetext/css"accessplus12months"#ExpiresByTypetext/javascript"accessplus12months"#ExpiresByTypeimage/gif"accessplus12months"#ExpiresByTypeimage/jpeg"accessplus12months"#ExpiresByTypeimage/jpg"accessplus12months"#ExpiresByTypeimage/png"accessplus12months"#ExpiresByTypeapplication/x-shockwave-flash"accessplus12months"#ExpiresByTypeapplication/x-javascript"accessplus12months"#ExpiresByTypeapplication/javascript"accessplus12months"#ExpiresByTypevideo/x-flv"accessplus12months"</IfModule>



mod_expires 实例:

<Directory/opt>ExpiresActiveOnExpiresDefault"accesssplus3600seconds"如果是1秒,后面也是secondsExpiresByTypeapplication/octet-stream"accesssplus1months"这是对特殊文件类型bin缓存1个月<FilesMatch^data.swf$>针对opt目录下data.swf设置Expire值ExpiresActiveOnExpiresDefault"accesssplus60seconds"</FilesMatch></Directory>


mod_headers实例

<Directory/opt>headersetcache-control"max-age=3600"<FilesMatch^data.swf$>headersetcache-control"max-age=60"</FilesMatch></Directory>

ExpiresByType比ExpiresDefault优先级高.当expires和max-age同时存在时,max-age的优先级会高于expires.


设置缓存也可以通过mod_headers模块修改cache-control来实现.

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