WordPress:.htaccess缓存提高网站性能
有时候遇到一个比较复杂的问题,我会选择暂时放一放。
YSlow的检测结果,当时优化掉几个问题后,就暂时放手了。
最近在网站优化上有了新的认识,应用一下:
Add an Expires or a Cache-Control Header
简单点说:就是缓存一下不常修改的文件,提升访问速度。
再简单点说:就是在.htaccess文件中写入以下内容:
<IfModule mod_expires.c> ExpiresActive On ExpiresDefault A600 ExpiresByType image/x-icon A2592000 ExpiresByType application/x-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>
text/css之类代表文件类型,A2592000表示在浏览器中的缓存时间,3600*24=86400, 86400*30=2592000秒=30天,86400*7=604800(秒)=7天。
Gzip components
Gzip压缩是减少文件体积增加用户体验的简单方法,
同样,添加以下代码到.htaccess文件即可。
AddOutputFilter DEFLATE html xml php js css
配置ETag
这段话我没看明白,总之结论是:如果你没有使用ETag提供的灵活的验证模式,那么干脆把所有的ETag都去掉会更好。
------------------------------------------
- 关于网站一般不容易变化的都是一些图片,CSS,JS脚本这些可以缓存到本地,设置一个缓存时间,比如30天,这样访客打开你的网站就不会在从网站服务器直接下载这些数据了,而是直接从本地缓存读取这些数据,这样就大大提高了网站加载速度,减少了加载时间。
- 我的网站 使用的是Linux服务器,我可以直接在.htaccess上面进行设置缓存规则。不过设置之前要确保你的虚拟主机服务商要开启mod_expires这个模块,不然设置以后会出现服务器500错误的。
- 简单点说:就是缓存一下不常修改的文件,提升访问速度。 再简单点说:就是在.htaccess文件中写入以下内容:
-
<IfModule mod_expires.c> ExpiresActive On ExpiresDefault A600 ExpiresByType image/x-icon A2592000 ExpiresByType application/x-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>
注意事项
- text/css之类代表文件类型,A2592000表示在浏览器中的缓存时间,2592000秒=30天。
Apache要设置文件缓存时间,要依靠一个叫mod_expires的模块,但是,我们的机器上,原本是没有安装这个模块的,幸运的是,apache安装这个模块很简单,
首先找到源代码
比如我们的是2.2.22的版本
cd httpd_2.2.22/modules/metadata
sudo /usr/local/apache2/bin/apxs -c -i -a mod_expires.c
这样就完成了mod_expores模块的安装,下面需要修改一下配置文件
sudo vim httpd.conf
在里面加入如下语句
#启用expires_module模块
LoadModule expires_module modules/mod_expires.so
<ifModule mod_expires.c>
# 启用有效期控制
ExpiresActive On
#现在只控制swf文件的缓存期为3天
ExpiresByType application/x-shockwave-flash "access plus 3 days"
</ifModule>
然后重启apache
cd ../bin
sudo ./apachectl restart
这样就完成了安装
mod_expirse这个模块,可以配置如下参数:
ExpiresActive on|off
这个选项表示是否其用有效期控制
ExpiresDefault <code><seconds>
这用于设置默认的时间
ExpiresByType type/encoding <code><seconds>
用于对某一种类型的文件进行控制
有以下几种写法(都表示有效期为1个月):
ExpiresDefault "access plus 1 month"
ExpiresDefault M2592000
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2016-08-21 15:41:32
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!