.htaccess中的旧ExpiresByType导致页面布局中断,如何强制浏览器缓存重新加载?

lyr7nygr  于 2023-10-23  发布在  其他
关注(0)|答案(1)|浏览(128)

我创建了一个新的网页,在旧的.htaccess中有以下参数:

<IfModule mod_expires.c>
  ExpiresActive On

 # Images
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType image/gif "access plus 1 year"
  ExpiresByType image/png "access plus 1 year"
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType image/svg+xml "access plus 1 year"
  ExpiresByType image/x-icon "access plus 1 year"

  # Video
  ExpiresByType video/webm "access plus 1 year"
  ExpiresByType video/mp4 "access plus 1 year"
  ExpiresByType video/mpeg "access plus 1 year"

  # Fonts
  ExpiresByType font/ttf "access plus 1 year"
  ExpiresByType font/otf "access plus 1 year"
  ExpiresByType font/woff "access plus 1 year"
  ExpiresByType font/woff2 "access plus 1 year"
  ExpiresByType application/font-woff "access plus 1 year"

  # CSS, JavaScript
  ExpiresByType text/css "access plus 1 year"
  ExpiresByType text/javascript "access plus 1 year"
  ExpiresByType application/javascript "access plus 1 year"

  # Others
  ExpiresByType application/pdf "access plus 1 year"
  ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
</IfModule>

现在,新网页的菜单设计看起来很糟糕。如果我清除浏览器缓存,一切看起来都很好。但许多客户端仍然从浏览器缓存加载,然后页面(菜单)看起来很糟糕。我能做什么?我不能等待1年,直到所有浏览器缓存重新加载CSS等。
我正在运行Joomla 4与SP Pagebuilder Pro和一个名为Flex的模板。

fwzugrvs

fwzugrvs1#

最可靠的方法是更改所有图片、css和js资源的文件名。一个简单的方法是在它们上面包含一个缓存破坏查询字符串。例如,可以使用<img src=foo.png?version=1.3>代替<img src=foo.png>
Web服务器将忽略查询字符串并提供当前图像。但是,查询字符串将强制浏览器获取新图像,因为URL不同。

相关问题