前不久,大概8月25号,我给网站添加了缓存策略,使用的是网站根目录下的.htaccess,此方法仅适用于Apache服务器,适用于任何网站程序,包括Wordpress、Typecho等。策略中,不仅可以缓存jpg/jpg/jpg/svg等图片格式文件,也可以缓存html及xml等文件。因此,我们可以使用这种方法缓存整个网页,实际测试过程中,也确实证实了这种方法的可行性。
当然,本文依旧属于文章恢复。目前,我把网站转移回国内,用的加速策略有,图片存在又拍云,使用memcached实现数据库内存缓存,利用Cache Enabler实现页面的缓存。
我们都知道Apache服务器可以通过.htaccess文件实现伪静态规则,今天我们来分享下如何使用该文件实现网页缓存的功能。只需要在网站根目录.htaccess文件中加入如下代码即可:
# 网站文件缓存有效规则设置 Start # ExpiresActive On ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 day" ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpg "access 1 year" ExpiresByType image/svg "access 1 year" ExpiresByType image/x-icon "access 1 year" ExpiresByType application/pdf "access 1 month" ExpiresByType application/xhtml-xml "access 1 day" ExpiresByType application/javascript "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresDefault "access 1 month" # 网站文件缓存有效规则设置 End # # 网站缓存头规则设置 Start # <ifModule mod_headers.c> <filesMatch "\.(ico|jpg|jpg|jpg|jpg|swf|pdf|svg)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(css)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(js)$"> Header set Cache-Control "private" </filesMatch> <filesMatch "\.(x?html?|php)$"> Header set Cache-Control "private, must-revalidate" </filesMatch> </ifModule> # 网站缓存头规则设置 End # # 关闭ETags Start # FileETag None # 关闭ETags End #
之前,我把html缓存设置的一月有效期,以至于我每次直接访问都是缓存,必须刷新才能看到新更新的文章,以刷新本地的缓存。今天,我又把它改成了一天,应该会有所好转。
下面我们给几张实际效果图以供参考:
上图中,可以看出首页被缓存了。只要当天我们访问过某个页面,其他时间再访问,会直接从本地电脑硬盘中调用该缓存。
细心的人已经发现了,图片缓存我设置的是一年有效期,而实际只有一个月有效期。这是因为Cloudflare CDN的缓存策略,再到Cloudflare处设置成一年即可。
© 版权声明
THE END
暂无评论内容