Apache服务器WordPress网站缓存策略

()

前不久,大概8月25号,我给网站添加了缓存策略,使用的是网站根目录下的.htaccess,此方法仅适用于Apache服务器,适用于任何网站程序,包括Wordpress、Typecho等。策略中,不仅可以缓存png/jpg/gif/svg等图片格式文件,也可以缓存html及xml等文件。因此,我们可以使用这种方法缓存整个网页,实际测试过程中,也确实证实了这种方法的可行性。

当然,本文依旧属于文章恢复。目前,我把网站转移回国内,用的加速策略有,图片存在又拍云,使用memcached实现数据库内存缓存,利用Cache Enabler实现页面的缓存。

Apache服务器WordPress网站缓存策略

我们都知道Apache服务器可以通过.htaccess文件实现伪静态规则,今天我们来分享下如何使用该文件实现网页缓存的功能。只需要在网站根目录.htaccess文件中加入如下代码即可:

# 网站文件缓存有效规则设置 Start #
ExpiresActive On
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 day"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "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|jpeg|jpg|png|gif|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缓存设置的一月有效期,以至于我每次直接访问都是缓存,必须刷新才能看到新更新的文章,以刷新本地的缓存。今天,我又把它改成了一天,应该会有所好转。

下面我们给几张实际效果图以供参考:

Apache服务器WordPress网站缓存策略

上图中,可以看出首页被缓存了。只要当天我们访问过某个页面,其他时间再访问,会直接从本地电脑硬盘中调用该缓存。

细心的人已经发现了,图片缓存我设置的是一年有效期,而实际只有一个月有效期。这是因为Cloudflare CDN的缓存策略,再到Cloudflare处设置成一年即可。

共计人评分,平均

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

原创文章,作者:古哥,如若转载,请注明出处:https://iymark.com/website/apache-wordpress-cache-setup.html

发表评论

登录后才能评论
分享本页
返回顶部