在Apache的配置文件中找到下面两行,将注释#去掉,重启。
LoadModule deflate_module modules/mod_deflate.so
LoadModule expires_module modules/mod_expires.so
在你网站的目录下新建.htaccess,添加如下内容:
#
# ExpiresActive on
# ExpiresByType image/gif "access plus 1 month"
# ExpiresByType image/jpg "access plus 1 month"
# ExpiresByType image/jpeg "access plus 1 month"
# ExpiresByType audio/mpeg "access plus 1 month"
# ExpiresByType audio/x-wav "access plus 1 month"
# ExpiresByType application/x-shockwave-flash "access plus 1 month"
# ExpiresByType text/javascript "access plus 1 month"
# ExpiresByType text/css "now plus 1 month"
# ExpiresDefault "now plus 1 day"
#
#
#SetOutputFilter DEFLATE
#AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpg image/jpeg audio/mpeg audio/x-wav image/png application/x-shockwave-flash application/x-javascript
#
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
解释一下。ExpiresByType 是通过MIME类型来设置具体文件的缓存时间,A表示访问,A后面的数字表示访问后的缓存时间。AddOutputFilterByType表示根据后面的MIME类型来压缩文件,这里对css,html,gif,jpeg,png,
JavaScript等进行压缩。更多选项请参考手册哦。
关闭ETag。Etag的问题在于,它是根据可以辨别网站所在的的具有唯一性的属性来生成的。当浏览器从一台服务器上获得页面内容后到另外一台服务器上进行验证时ETag就会不匹配,这种情况对于使用服务器组和处理请求的网站来说是非常常见的。在配置文件中写入下面一行即可:
FileETag none
如果是多服务器,可以设置为FileETag MTime Size,apache默认设置为FileETag INode MTime Size,去掉INode。
经过上面的设置,即可开启压缩和缓寸.
阅读(1183) | 评论(0) | 转发(0) |