【发布时间】:2016-01-13 06:27:14
【问题描述】:
我有一个使用大量 SVG 作为背景图像的网站。许多 SVG 文件都附有查询字符串,用于动态更改颜色(通过一点 PHP)。例如,我的 CSS 可能会这样调用 SVG:
background-image: url("/images/sprite.svg?color=00ffff");
我现在意识到这些带有查询字符串的 SVG 不会被缓存,这使得页面加载非常缓慢和笨拙!
我尝试将其添加到我的 .htaccess 中:
<FilesMatch "\.(svg)">
ExpiresActive on
ExpiresDefault "access plus 1 month"
</FilesMatch>
但这似乎并不奏效——查看 Chrome 开发工具的“网络”选项卡显示它们仍然有大小,而不是“来自缓存”。
真的可以告诉浏览器缓存带有查询字符串的 SVG 吗?我的 htaccess 规则错了吗?还是 Chrome 不会缓存它们的其他原因?
【问题讨论】: