我对网站根目录中的所有静态内容都进行了以下配置:
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseExpires"
httpExpires="Tue, 19 Jan 2038 03:14:07 GMT" />
</staticContent>
</system.webServer>
</configuration>
现在我想为子目录中的特定文件和根目录中的 favicon 文件指定不同的 expires 标头。我在上述代码后尝试了此配置,但出现服务器错误。
<location path="">
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseExpires"
httpExpires="Tue, 19 Jan 2012 03:14:07 GMT" />
</staticContent>
</system.webServer>
</location>
也许有人可以帮忙吗?
答案1
我认为您无法在文件级别控制缓存标头,只能在文件夹级别控制。但您始终可以将图标放在其自己的文件夹中,然后就可以控制缓存控制标头。如果您想支持始终从根目录读取图标的旧版浏览器,您可以添加重写规则以将请求重写到特定文件夹。
要在每个文件夹级别添加缓存控制标头,您无需添加标签<location>
,而只需将带有缓存控制标签的 web.config 文件放在该特定文件夹中。
答案2
你能根据文件到期时间设置。只需将文件名添加到路径即可:
<location path="favicon.ico"> <---- here ... </location>