2012-08-24 66 views
3

我需要使用htaccess文件進行瀏覽器緩存。.htaccess使用FilesMatch緩存

this question我發現如何添加擴展到htaccess文件。

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

但我需要添加擴展。但是排除一些文件。
我發現從this question

<FilesMatch ^((myfile|myfile2)\.js$|myphoto\.jpe?g)$> 

像這樣將所有js和JPEG文件,除了 「myfile.js」, 「myfile2.js」, 「myphoto.jpg」 我怎樣才能做到這一點? 謝謝

回答

3

試試這個

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

這將匹配所有jsjpeg文件除了myfile.jsmyfile2.jsmyphoto.jpeg使用負向前查找/回顧後。有點醜,但我找不到一個很好的方法來做到這一點。

然後,您可以有只有這些文件一個單獨的文件匹配,並設置不同的頁眉:

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

我寫了下面的代碼' 頭中設置緩存控制 「最大年齡= 604800,公開」 標頭集合緩存控制「 max-age = 3600,public「 ' – trante

+1

但」myfile.js「具有以下標題響應。緩存控制:max-age = 604800 ** ** Cache-Control:max-age = 3600,public ** – trante

+0

@trante ok,檢查編輯 –