如何为图片href链接自动追加文件修改时间参数以强制缓存更新
解决方案:自动用文件修改时间更新图片缓存参数
纯静态HTML没法直接获取文件修改时间,你可以试试服务器端包含(SSI)——这功能很多第三方托管环境都默认支持,而且不需要JS或CSS权限,刚好适配你的情况。
操作步骤:
先确认环境支持SSI:
- 大多环境要求HTML文件后缀改成
.shtml或.stm(少数也支持.html,先试.shtml最稳妥) - 写个测试文件
test.shtml,内容如下:
访问这个文件如果能显示服务器当前时间,就说明SSI能用。<!--#echo var="DATE_LOCAL" -->
- 大多环境要求HTML文件后缀改成
批量替换图片链接:
- 把所有原来的
/Portals/0/Images/Current_Cert.png链接,替换成下面这段代码:/Portals/0/Images/Current_Cert.png?v=<!--#flastmod file="/Portals/0/Images/Current_Cert.png" --> - 服务器会自动把
<!--#flastmod -->这部分替换成图片文件的最后修改时间戳(格式类似202405201430)。只要你替换了新的证书图片,这个时间戳就会变,浏览器自然会重新加载新图,不用手动改版本号。
- 把所有原来的
省事儿的批量修改方法:
- 用文本编辑器的全局替换功能,一次性把108个链接都替换完,不用一个个改。
注意点:
- 如果环境不支持SSI,联系托管方开一下就行,这是静态站点常用的基础功能;
- 要是环境要求改后缀,记得把所有用到这个图片的页面都改成
.shtml; - 这个方案完全符合你的需求:不用手动更新,只有图片改了才触发缓存更新,而且所有浏览器都兼容,因为最终输出的就是普通带参数的URL。
内容的提问来源于stack exchange,提问作者Cranky McPants
相关产品推荐
相关产品推荐

