简单修改.htaccess来提高Yslow等级

最近一直在修改我的爱墙程序,其中对于Yslow的等级纳入了考虑,之前的空间不支持自定义htaccess文件,现在的空间支持自定义htaccess,在以前的文章中我写过一篇关于htaccess的文章,今天我在结合爱墙许愿送祝福http://love.js8.in)的网站,来说说通过修改htaccess达到Yslow优化,等级提高的方法,大家可以看看[http://love.js8.in](http://love.js8.in)的Yslow等级已经到了**B**,分数是85~87之间,由于网站使用了jQuery的FaceBox插件以及量子统计,所以等级有点降低,可是总体等级是不大会变的,其实我就是通过修改htaccess达到Yslow优化的,这是最直接的方法,不需要修改程序代码既可以提高Yslow等级~废话不说啦,进入正题吧。

简单修改htaccess文件提高Yslow等级优化

Add an Expires header / 为文件头指定过期时间

Expires是浏览器Cache机制的一部分,浏览器的缓存取决于Header中的四个值: Cache-Control, Expires, Last-Modified, ETag。这个项目的考评主要针对Cache-Control和Expires

具体的Cache原理不是本文所涉及的,有兴趣的童鞋可以看看Caching Tutorial一文。为了优化这个选项,我们所要做的是对站内所有的文件有针对性的设置Cache-Control和Expires,要提高Yslow的等级就要在htaccess中设置文件头的过期时间,一般对于ico、jpg、gif、png、js、css之类的文件一般是不会发生变化的,所以我们可以设置的过期时间长一点。看我的htaccess文件内容:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType application/javascript A2592000
ExpiresByType text/javascript A2592000
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A86400
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
</IfModule>

Gzip components / 启用Gzip压缩

Gzip可以压缩网页,达到更快的传输速度,如果你想使用Gzip请首先确认你的服务器是否支持Gzip压缩模块,然后htaccess中加入如下代码:

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript text/javascript application/javascript
</IfModule>

Configure ETags / 配置ETags

ETag响应头可以占用一部分的带宽,所以我们可以设置为nonehtaccess配置如下:

FileETag none