如何强制 IIS 7不是在某个页面上缓存图像?
答案1
我认为 IIS 网络服务器不是缓存页面的服务器 - 它是客户端的浏览器。
您可以向不希望客户端缓存的页面添加元标记,并且有多种方法可以针对不同的旧版浏览器等执行此操作。
如果您用 ASP 编写并想要相同的非缓存效果,这里是标题信息。
<% Response.CacheControl = "no-cache" %>>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
答案2
您正在寻找的是缓存控制标头值(请注意,这仅适用于尊重 http 1.1 的浏览器)
对于 asp 代码是:
<% @Language="VBScript" %>
<% Response.CacheControl = "no-cache" %>
您也可以使用元数据库直接在文件夹上进行设置:
以下是在默认网站上设置文件夹 pix 的方法:打开命令提示符并切换到 C:\InetPub\AdminScripts 文件夹。运行以下命令:CSCRIPT ADSUTIL.VBS SET W3SVC/1/ROOT/pix/CacheControlCustom "no-cache"
注意可能的值是“no-cache”,“Public”,“Private”
您也可以通过 ADSI 进行设置:
Option Explicit
Dim objCache
Set objCache = GetObject("IIS://localhost/w3svc/1/root/pix")
objCache.CacheControlCustom = "no-cache"
objCache.SetInfo
到目前为止,只要您安装了 IIS6 管理工具,这些方法就可以在 IIS6 和 IIS7 上使用。对于纯 IIS7 环境,以下是 appcmd 命令:
首先解锁配置部分
appcmd unlock config /section:staticContent
现在您可以更改静态内容的缓存选项。通过设置“Cache-Control: no-cache”使静态内容不可缓存:
appcmd set config "Default Web Site/<Application>/<Folder>" /section:staticContent /clientCache.cacheControlMode:DisableCache
<Application>/<Folder>
你的文件夹路径在哪里