比方說,我緩存我的CSS文件,並將其到期日期從現在起設置爲一個月。假設我有一些更新並修改了CSS文件。我如何確保我的網站的訪問者將使用更新的CSS而不是舊的?如何確保更新的文件被服務而不是緩存的文件?
謝謝。
比方說,我緩存我的CSS文件,並將其到期日期從現在起設置爲一個月。假設我有一些更新並修改了CSS文件。我如何確保我的網站的訪問者將使用更新的CSS而不是舊的?如何確保更新的文件被服務而不是緩存的文件?
謝謝。
您可以更改名稱以確保無論用戶瀏覽器如何,他們都會得到新文件。在所有引用CSS文件的地方,請引用包含文件名的變量。當你發佈一個新版本時,更新變量以便所有的頁面都能看到新的樣式表。
您可以向該網址添加查詢字符串,例如
<link rel="stylesheet" type="text/css" href="theme.css?v1" />
更改URL。這將迫使瀏覽器重新下載文件。最簡單的事情是在你增加的文件名中有一個數字。用一些重寫規則配置你的web服務器,這樣你就不需要每次重命名文件。
這是在erefredag.se爲Nginx的服務器我重寫規則:
rewrite ^/style\..*\.css$ /style.css;
這是我<link>
元素是什麼樣子:
<link rel="stylesheet" type="text/css" href="style.acf1a27de.css">
這實際上是正確答案。 – Greg
緩存無效FTW –
並非所有軟件都將緩存文件與querystrings正確。代理服務器尤其如此。 –