如何在iis7中将Expires Header添加到自定义文件?

时间:2011-01-07 16:31:51

标签: c# .net asp.net iis-7 http-headers

我需要在IIS7中为我的.less文件添加一个expires标头。不太清楚该怎么做。

2 个答案:

答案 0 :(得分:1)

如果您的.less文件都位于同一文件夹中,则可以在此特定文件夹中为static content指定httpExpires属性,并添加web.config

<system.webServer>
    <staticContent>
        <clientCache
            httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" 
            cacheControlMode="UseExpires" />
    </staticContent>
</system.webServer>

或者在根web.config中添加相同的部分,并定义包含.less文件的文件夹的位置路径:

<location path="YourLessFilesFolder">
    <system.webServer>
        <staticContent>
            <clientCache
                httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" 
                cacheControlMode="UseExpires" />
        </staticContent>
    </system.webServer>
</location>

您还需要将.less文件添加到静态内容类型集合(see)。我不确定MIME类型,但你明白了:

<system.webServer>
    <staticContent>
        <mimeMap fileExtension=".less" mimeType="text/css" />
    </staticContent>
</system.webServer>

答案 1 :(得分:1)

设置httpExpires日期要小心,我不会使用比一年更高的值。在达到过期日期之前,您无法从代理服务器和客户端替换缓存的文件。在你20年的例子中!

使用缓存验证而不是到期保存在保存端。

或使用:

<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />

将文件缓存一天。

更多信息here