回答
你可以嘗試這樣的事:
@ECHO OFF
REM ---------------------------------------------------------------------------
REM Caching - sets the caching on static files in a web site
REM syntax
REM Caching.CMD 1 d:\sites\MySite\WWWRoot\*.CSS
REM
REM %1 is the WebSite ID
REM %2 is the path & Wildcard - for example, d:\sites\MySite\WWWRoot\*.CSS
REM _adsutil is the path to ADSUtil.VBS
REM ---------------------------------------------------------------------------
SETLOCAL
SET _adsutil=D:\Apps\Scripts\adsutil.vbs
FOR %%i IN (%2) DO (
ECHO Setting Caching on %%~ni%%~xi
CSCRIPT %_adsutil% CREATE W3SVC/%1/root/%%~ni%%~xi "IIsWebFile"
CSCRIPT %_adsutil% SET W3SVC/%1/root/%%~ni%%~xi/HttpExpires "D, 0x69780"
ECHO.
)
它設置緩存值,每個CSS文件在網站根至5天,然後像這樣運行:
Caching.CMD 1 \site\wwwroot\*.css
Caching.CMD 1 \site\wwwroot\*.js
Caching.CMD 1 \site\wwwroot\*.html
Caching.CMD 1 \site\wwwroot\*.htm
Caching.CMD 1 \site\wwwroot\*.gif
Caching.CMD 1 \site\wwwroot\*.jpg
有點痛,但可行。
BTW - 以獲取HttpExpires值,設定在GUI中的值,然後運行
AdsUtil.vbs ENUM W3SVC/1/root/File.txt
得到你需要
在IIS管理我不知道這是你在找什麼,但它確實讓我的頁面不被緩存。
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="Cache-Control" CONTENT="max-age=0">
我從一篇文章中得到了這些我不再有參考的文章。
這可能會阻止瀏覽器緩存內容,但大多數(全部?)中間緩存將依靠HTTP標頭,並不會閱讀HTML的。 – 2012-12-28 15:20:36
我認爲這是你所追求的,它是在IIS管理器中的HTTP標題下的內容過期。我使用在〜/ Resources之類的文件夾下粘貼靜態內容的模式,並將特定文件夾上的過期設置爲比應用程序的其餘部分長得多。
下面是完整的文章的鏈接:IIS 6.0 F1: Web Site Properties - HTTP Headers Tab
的實際值,你可以將它設置爲每個文件或者你可以(對於像aspx這樣的動態類型)在代碼中執行。之後,你有它設置,您需要檢查與像Mozilla Firefox瀏覽器+一個工具輸出動態組頭插件頭 - 或者你可以使用一個基於Web的工具,如http://www.httpviewer.net/
可怕的解決方案,第一個命令來創建ADSUTIL意志由於您嘗試創建的文件已存在,因此錯誤爲-2147024713(0x800700B7)。
謝謝。
對於其他來自谷歌的人:這將是不工作在iis6但工作在7及以上。
在你的web.config:
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
- 1. Tomcat7如何使用Expires HTTP標頭提供靜態文件
- 2. 在Struts2 HOWTO中爲靜態內容設置緩存標題不在標準/ struts /,/ template /目錄中
- 3. 標題或內容中的Http響應狀態
- 4. 靜態內容
- 5. 靜態內容
- 6. 如何添加靜態標題和XAML的win8滾動內容
- 7. 在Java-webapp(war)中,如何使用靜態內容的HTTP-auth?
- 8. 靜態內容的RouteHandler
- 9. automate http expires
- 10. Html.dropdownlist靜態內容
- 11. 問題在liftweb靜態內容
- 12. 設計MVVM中的動態行標題,列標題和內容
- 13. 關於管理django中的靜態內容的簡單問題
- 14. 瞭解C#中的靜態內容#
- 15. phar檔案庫中的靜態內容
- 16. 在Django中的PyBBM靜態內容
- 17. 活動中的靜態內容
- 18. W Static中的靜態內容生成
- 19. 阻止MVC中的靜態內容3
- 20. Ajax HTTPS但在HTTP上託管的靜態內容
- 21. 服務靜態內容的正確http方法
- 22. WebSphere 7:修改靜態內容文件服務的HTTP頭
- 23. 我可以通過javascript獲取HTTP資源的HTTP expires標題嗎?
- 24. 使用靜態標題打印網頁查看內容
- 25. HTTP Expires標頭值「0」和「-1」
- 26. 靜態內容但動態內容的XSL-FO頁腳?
- 27. file_get_contents返回內容中的HTTP標頭
- 28. 如何在靜態軌道上創建靜態內容的靜態內容動態編輯選項
- 29. http header中的「Expires」是否有用?
- 30. docpad系統中的靜態與動態內容 - 如何創建動態內容?
我想我必須在每次將新的CSS或js文件放入網站文件夾時運行該腳本。是對的嗎? – spakinz 2012-06-25 07:34:30