日期:2014-05-16  浏览次数:20950 次

Apache开启Gzip和Expires提升网页加载速度 [转载]

在Apache的配置文件中找到下面两行,将注释#去掉,重启。

LoadModule deflate_module modules/mod_deflate.so
LoadModule expires_module modules/mod_expires.so
?

?

Apache模块 mod_deflate? 说明


在你网站的目录下新建.htaccess,添加如下内容:

<IfModule mod_expires.c>
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
</IfModule>

<IfModule mod_deflate.c>
#启用deflate模块对本站点的所有输出进行GZIP压缩
SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript


#压缩级别 9 性能最佳
DeflateCompressionLevel 9
</IfModule>
?



解 释一下。ExpiresByType 是通过MIME类型来设置具体文件的缓存时间,A表示访问,A后面的数字表示访问后的缓存时间。AddOutputFilterByType表示根据后面 的MIME类型来压缩文件,这里对css,html,gif,jpeg,png,JavaScript 等进行gzip 压缩。更多选项请参考apache 手册哦。

关闭ETag。Etag的问题在于,它是根据可以辨别网站所在的服务器 的具有唯一性的属性来生成的。当浏览器从一台服务器上获得页面内容后到另外一台服务器上进行验证时ETag就会不匹配,这种情况对于使用服务器组和处理请求的网站来说是非常常见的。在配置文件中写入下面一行即可:

FileETag none

如果是多服务器负载均衡 ,可以设置为FileETag MTime Size,apache默认设置为FileETag INode MTime Size,去掉INode。

经过上面的设置,即可开启压缩和缓存。