2013-12-11 54 views
0

我正在寻找一种方法来实现缓存控制&到期我的图像/ css/js文件头。我查找教程&只找到了使用文件扩展名添加缓存控制的方法。下面的代码是从http://betterexplained.com/使用htaccess或php文件只缓存静态文件

<FilesMatch "\.(jpg|jpeg|png|gif)$"> 
Header set Cache-Control "max-age=604800, public" 
</FilesMatch> 

一拿到这台提及的这些扩展的所有图像被缓存一周。但是我不希望所有图像都被缓存,因为有一些图像是由用户上传的。我只想要我的静态图像,例如:logo,用于按钮的图标被缓存。如果有人能够指出如何实现这一目标,这将是一件好事。

回答

1

或再次你可以只移动htaccess文件,将文件夹中缓存并将用户图像另存为:D

1

您可以更改FilesMatch筛选器以包含路径的一部分。我假设用户图像位于静态图像以外的目录中。

<FilesMatch "^/staticdir/.+\.(jpg|jpeg|png|gif)$"> 
Header set Cache-Control "max-age=604800, public" 
</FilesMatch> 
1

你可以让你的正则表达式通过仅包括只知道缓存图片更多restricitive:

<FilesMatch "(logo|icon|favicon|header)\.(ico|jpe?g|png|gif)$"> 
Header set Cache-Control "max-age=604800, public" 
</FilesMatch> 
+0

谢谢anubhava。这是另一个解决方案。我想我问了这个问题。借助Ronald Swets解决方案,我认为我不必担心文件名。但是我再次问这个问题是错误的。对不起,这。 – codeGEN

+1

不是问题,重要的是让你的问题得到解决:) – anubhava