网站图片不';在.htaccess上设置过期的标题后刷新

网站图片不';在.htaccess上设置过期的标题后刷新,.htaccess,caching,header,.htaccess,Caching,Header,我有一个网站,使用CSS精灵的所有图像。 我将.htaccess文件设置为将过期的头文件设置为将来某个时间,以提高站点性能 然而,当我更新sprite图像时,两台不同计算机上的浏览器似乎都无法获取新图像 我删除了几次.htaccess,但没有成功 我相信这一定很容易解决,但现在我别无选择 以下是我的.htaccess文件中的代码: #配置媒体缓存 # 标题未设置ETag FileTag无 上次修改未设置的标题 标题集过期“2012年12月21日星期五00:00:00 GMT” 标题集缓存控制“公

我有一个网站,使用CSS精灵的所有图像。 我将.htaccess文件设置为将过期的头文件设置为将来某个时间,以提高站点性能

然而,当我更新sprite图像时,两台不同计算机上的浏览器似乎都无法获取新图像

我删除了几次.htaccess,但没有成功

我相信这一定很容易解决,但现在我别无选择

以下是我的.htaccess文件中的代码:

#配置媒体缓存
#
标题未设置ETag
FileTag无
上次修改未设置的标题
标题集过期“2012年12月21日星期五00:00:00 GMT”
标题集缓存控制“公共,无转换”
SetOutputFilter放气

阅读GoDaddy文档,我发现您需要更新到“配置2.0”


如果GoDaddy没有从他们的http头中删除Apache版本,这将更加明显。

通过将缓存日期设置为将来的某个日期,您已经告诉浏览器在该日期之前在本地存储图像,而不是从服务器请求图像。因此,当您更改服务器上的映像时,它不会更新

对于调试,您可以通过使用Ctrl+F5进行硬刷新并从服务器请求所有文件来解决此问题

对于生产,您需要正确地解决这个问题。将版本号或上次更新日期附加到图像、css等是标准做法。在这种情况下,您可以将其放入css中:

background: url(/images/my_image.png?201004071748);
然后,当您更改图像时,您会更新日期。这样,当浏览器解析CSS并请求图像时,它会认为这是一个与其缓存的图像不同的图像,并向服务器发送一个新的图像请求

background: url(/images/my_image.png?201004071748);