2014-09-04 49 views
0

我一直遇到我的項目中緩存HTML文件的問題。如何處理HTML文件的nginx緩存?

我有一個靜態資源(圖像,腳本,CSS等)的緩存半身像機制,但所有這些解決方案似乎無法處理HTML緩存問題。

我在所有HTML文件中添加了expires 0;Nginx,但在我看來,我缺少一個明顯的解決方案。

location ~/{ 
    if ($document_uri ~* \.(html)$){ 
     expires 0; 
    } 
    root /var/www/my-website; 

} 

,看起來這麼難看(!)再說,if is evil我確信世界上所有網站需要處理這個問題,所以一定是解決這個更好的方法。

在角度上,我嘗試使用html2js - 基本上所有的HTML文件轉換爲JavaScript,然後它經歷與其餘的緩存破壞機制相同的緩存機制。

但是,這也迫使用戶下載一個大胖子JavaScript文件,以某種方式在角度上使用 - 它根據需要加載模板,使其非常輕快。

如何解決HTML緩存問題?

回答

1

嘗試此2點幾乎相等的變體,〜/ {}部將它們放置位置後:

location ~ \.html$ { 
    add_header Cache-Control "no-cache, no-store"; 
... 
} 

location ~ \.html$ { 
    expires -1; 
... 
}