2008-11-13 186 views
3

我在我的基于IIS 6的网站上的文件夹中有一些静态图像,我想尽可能少地下载(以保留带宽)。我已将内容过期设置为30天后过期。在IIS中我还有什么可以尝试通过浏览器,代理和网关缓存最大化缓存?如何在IIS中设置静态文件的可用性?

如添加一个Cache-Control头?还要别的吗?

回答

1

这是我对这个问题的回答:"Expires" in http header for static content? how-to

@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 
REM ******* 
REM SET THIS TO POINT TO adsutil.vbs - TYPICALLY c:\inetpub\adminscripts\adsutil.vbs 
REM ******* 
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. 
) 

这对于一个Web根每个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 

得到你需要

相关问题