2014-02-07 66 views
0

我已經將我的新文件上傳到了我的服務器上,但似乎緩存沒有刷新,因爲我仍然可以看到相同的代碼。如何清除nginx代理服務器上的靜態文件緩存

這是我改變了的js文件。

我正在使用nginx,並且還檢查了將sendfile設置爲「關」但仍然沒有喜悅。

有反正我可以清除緩存,所以我可以看到更新的文件。服務器明確地保存最新的文件。

希望有人能協助。

+0

您是否嘗試過在''>上附加最新版本'?v12'的腳本? –

+0

那裏沒有版本。服務器上肯定有正確的副本,因爲我在文件上做了一個快速的vim。 – tjhack

+0

這是通過我們可以清除緩存的方式,實際上沒有任何版本的文件,但它是虛擬版本(可以放任何數字)。 –

回答

0

你可以用你的文件名來添加最新版本來更新你的javascript文件,就像這樣。

<script src="yourfile.js?v12" > </script> 

這裏是?v12版本的文件,你可以添加。

每次編輯javascript文件時,都可以更新它,如?v13,?v14,?v15等。

  • <script src="yourfile.js?v13" > </script>
  • <script src="yourfile.js?v14" > </script>
  • <script src="yourfile.js?v13" > </script>

那怎麼你的JavaScript並不是在瀏覽器緩存。

+0

必須有一個替代方案,而不是做版本控制? – tjhack

+0

@tjhack是的,使用js合併。一些應用程序支持這一點,並將根據合併結果的內容生成一個唯一的文件名。針對這個特定問題的過度使用,但它可能會讓您的網站在更多領域受益,即使用Google的pagespeed模塊。 – Melvyn

相關問題