使用.htaccess为相同扩展名的文件设置不同的缓存控件

时间:2016-07-21 12:37:07

标签: .htaccess http-headers cache-control

我是使用.htaccess文件的新手。我有图像文件; a.jpeg&同一文件夹中的其他几个.jpeg文件。我希望客户端做的是缓存a.jpeg而不是其余的.jpeg文件。

这是我的.htaccess文件的样子:

#exception
<Files a.jpeg>
Header set Cache-Control "max-age=604800, public"
</Files>

# NEVER CACHE - rest of .jpegs
<FilesMatch "\.(jpg|jpeg)$">
Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate"
</FilesMatch>

问题是a.jpeg没有像所有其他.jpeg一样被缓存。请帮助。

我用来测试我的缓存和非缓存文件的网站是:https://www.giftofspeed.com/cache-checker/

1 个答案:

答案 0 :(得分:0)

我刚才知道"\b^(?!a)\w*\.jpg\b"期望正则表达式搜索文件,因此FilesMatch标记内的正则表达式# NEVER CACHE - rest of .jpegs <FilesMatch "\b^(?!a.jpg)\w*\.jpg\b"> Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate" </FilesMatch> 起作用。

这是完整的.htaccess文件:

$.view(class).refresh()