Html 直接从服务器加载图像
我有一个网页,其中大部分资产最近都发生了变化。但是当我第一次加载页面时,它会显示旧图像,但是如果我刷新页面,它会加载新图像 因此,请告诉我,当我第一次打开页面时,如何直接从服务器加载新图像 我怀疑这与缓存有关?Html 直接从服务器加载图像,html,css,caching,web,proxy,Html,Css,Caching,Web,Proxy,我有一个网页,其中大部分资产最近都发生了变化。但是当我第一次加载页面时,它会显示旧图像,但是如果我刷新页面,它会加载新图像 因此,请告诉我,当我第一次打开页面时,如何直接从服务器加载新图像 我怀疑这与缓存有关? <FilesMatch "\.(png|jpg)$"> FileETag None <ifModule mod_headers.c> Header unset ETag Header set Cache-Contro
<FilesMatch "\.(png|jpg)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</FilesMatch>
FileTag无
标题未设置ETag
标题集缓存控制“最大年龄=0,无缓存,无存储,必须重新验证”
标题集Pragma“无缓存”
标题集过期“1984年1月11日星期三05:00:00 GMT”
将其放在.htaccess文件中。如果在图像名称后包含一个查询字符串,并在每个版本中增加值,这将使浏览器下载新资源 例如
http://www.example.com/image1.jpg?v=1
-首次发布时
http://www.example.com/image1.jpg?v=2
-在下一版本中
这也适用于样式表、JS和其他外部资源。第一次打开页面时,将从服务器获取图像。如果您以前访问过该网站,并且图像已缓存,则只有刷新操作才能查看旧图像。这是因为您告诉浏览器首先要缓存图像…您要问的是浏览器缓存-您可以使用ctrl-f5强制重新加载,但知道这就是问题的名称,也许您可以在这里找到答案:图像被缓存。按Ctrl+F5可以将其设置为存储在全局配置文件
$version='X'
中的变量,并将其附加到资产中。@PatrickGeyer如果图像太多,则为“是”。但是我的项目我把图像分割成了一个大的。所以这对我来说也不是问题。@MungunbatEnkhbayar你用的是什么服务器?只对HTML文件有效,不适用images@Reeno哦,好的。难道不能把这样的东西放到服务器配置文件中吗?Stackoverflow会吃掉我的换行符。。。代码如下:是的,你的新编辑应该可以工作。但我认为(我不确定)只有从一开始就应用它,它才有效。既然文件已经被缓存,那么强制刷新可能是错误的。完全删除缓存会降低后续重新加载时的客户端加载时间。除非项目需要零缓存,否则最好在更改资产时刷新缓存。