2013-05-02 24 views
1

我在httpd.conf中制定了我自己的cache-control規則。需要對每個不同的子目錄應用不同的規則。「.htaccess」不適用於子目錄中的緩存控制

我爲.do延長默認(httpd.confno-cache

# use .htaccess files for overriding, 
AccessFileName .htaccess 

... 


    <ifModule mod_headers.c> 
     <LocationMatch "\.(do)$"> 
     Header append Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 
     </LocationMatch> 
    </ifModule> 

而且需要緩存一些目錄(.htaccess)。

例如網址:XXX.com/en/product.do

所以我就<webRoot>/en做了.htaccess

<ifModule mod_headers.c> 
    <LocationMatch "\.(do)$"> 
    Header set Cache-Control "max-age=216000, public, must-revalidate" 
    </LocationMatch> 
</ifModule> 

我錯了嗎?有沒有其他方法可以在不同的目錄上統治不同?

回答

1

沒有什麼像<locationMatch>可用於.htaccess;它會產生一個運行時錯誤。

此外,通常*.do被代理,在這種情況下,.htaccess永遠不會讀取文件系統目錄。

我建議先放第二節,然後將^/en/加到前面。

+0

你能給我一個樣品嗎? – Deckard 2013-05-02 13:08:20

相關問題