IIS 7:特定文件的过期标头

IIS 7:特定文件的过期标头

我对网站根目录中的所有静态内容都进行了以下配置:

<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>

相关内容