我创建了一个新的网页,在旧的.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的模板。
1条答案
按热度按时间fwzugrvs1#
最可靠的方法是更改所有图片、css和js资源的文件名。一个简单的方法是在它们上面包含一个缓存破坏查询字符串。例如,可以使用
<img src=foo.png?version=1.3>
代替<img src=foo.png>
。Web服务器将忽略查询字符串并提供当前图像。但是,查询字符串将强制浏览器获取新图像,因为URL不同。