我正在尝试仅缓存我的资产,而不是我网站上几页的实际HTML页面。
目前我的缓存控制标头设置为:
cache-control: max-age=0, no-cache, must-revalidate
我的.htaccess文件
# 1 Day for most static assets
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico|JPG|woff)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
在移动设备上,当用户打开我的网站浏览到给定页面,关闭其浏览器应用程序然后重新打开时,页面将从缓存加载。
当我设置以下标题时,移动浏览器会在重新打开浏览器时正确地重新加载页面,但现在它会重新加载所有内容(javascript,css,图像等)。我只想重新加载html。
response.headers["Cache-Control"] = "no-cache, no-store"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
我该如何做到这一点?
提前致谢。
更新了.htaccess文件
<IffilesMatch ".(css|jpg|jpeg|png|gif|js|ico|JPG|woff)$">
Header set Cache-Control "max-age=2592000, public"
</If>
<Else>
Header set Pragma "no-cache"
Header set Expires = "0"
Header set Expires = "Fri, 01 Jan 1990 00:00:00 GMT"
Header set Cache-Control = "no-cache, no-store"
</Else>
答案 0 :(得分:1)
尝试使用完整的标头集,以确保您能够访问所有浏览器。
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
这通常涵盖了包括移动设备在内的跨浏览器兼容性的多个问题。