在我的一个项目中,我正在努力提高页面速度。
我使用。htaccess文件来启用浏览器缓存。下面是这段代码:
# 1 YEAR = 29030400
<FilesMatch "'.(ico|pdf|flv)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
# 1 WEEK = 604800
<FilesMatch "'.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# 2 DAYS = 172800
<FilesMatch "'.(xml|txt|css|js)$">
Header set Cache-Control "max-age=172800, proxy-revalidate"
</FilesMatch>
# 1 MIN = 60
<FilesMatch "'.(html|htm|php)$">
Header set Cache-Control "max-age=60, private, proxy-revalidate, must-revalidate"
</FilesMatch>
这个代码的问题是每当添加新数据时,数据没有反映在页面上。
当新数据插入数据库时,是否有办法更新缓存
一个技巧是在url中添加计数参数,例如
http://mysite.mydomain.com/test.ico?count=1
count参数将被web服务器忽略,但它将被存储在浏览器缓存中。每当您更改图像时更新计数值,它将被重新加载。您甚至可以使用日期/时间戳(与文件创建日期一起)并自动执行整个操作。