使用FilesMatch进行.htaccess缓存

时间:2012-08-24 19:41:15

标签: regex .htaccess caching browser-cache

我需要使用htaccess文件进行浏览器缓存。

this question我发现了如何添加htaccess文件的扩展名。

<FilesMatch "\.(js|jpeg|jpg)$">

但我需要添加扩展程序。但是排除一些文件 我从this question

找到了类似的东西
<FilesMatch ^((myfile|myfile2)\.js$|myphoto\.jpe?g)$>

添加除“myfile.js”,“myfile2.js”,“myphoto.jpg”之外的所有js和jpeg文件 我怎样才能做到这一点? 谢谢

1 个答案:

答案 0 :(得分:3)

试试这个

<FilesMatch "((?<!myfile|myfile2)\.js|(?<!myphoto).jpe?g)$">
    Header set Cache-Control "max-age=604800, public"
</FilesMatch>

这将匹配除jsjpegmyfile.js之外的所有myfile2.jsmyphoto.jpeg个文件,使用否定前瞻/后瞻。有点丑,但我找不到一个很好的方法来做到这一点。

然后,您可以为这些文件设置单独的文件,并设置不同的标题:

<FilesMatch "((myfile|myfile2)\.js|myphoto\.jpe?g)$">
    Header set Cache-Control "max-age=3600, public" 
</FilesMatch>