1

我正在尝试为一系列嵌套文件夹设置一个 IIS7 Intranet CDN,其中包含一些预压缩 (gzip) css 内容以及图像文件(显然是未压缩的)。

文件夹结构本质上是这样的:

Skins
Skins\SkinName1\*.css
Skins\SkinName1\Control1\*.png
Skins\SkinName1\Control2\*.png
Skins\SkinName1\lots more controls..\*.png
Skins\SkinName2\...
Skins\lots more skins...\...

..你明白了..

css 都是预压缩的(gzip'ed),所以我需要在它们上设置一个“gzip”的 Content-Encoding 标头。但我显然不能在图像文件上设置相同的标头。

我知道我可以在根目录设置 Content-Encoding gzip 文件夹,然后在所有控制(图像)文件夹上不继承它。但是有大量的图像文件夹需要经过。

有什么方法可以通过文件类型或其他方式来设置它,而不必单独浏览每个文件夹?

*不幸的是,我无法控制文件夹结构。

谢谢-

4

1 回答 1

5

好的,我终于意识到我应该使用 URL Rewrite 模块并让它添加自定义标头。

我基本上只是用这个:

    <rewrite>
      <outboundRules>
        <rule name="Set custom HTTP response header" enabled="true">
          <match serverVariable="RESPONSE_Content_Encoding" pattern=".*" />
          <conditions>
            <add input="{REQUEST_URI}" pattern="\.css$" />
          </conditions>
          <action type="Rewrite" value="gzip"/>
        </rule> 
      </outboundRules>
    </rewrite>

并让非预压缩的东西默认。

希望它可以帮助某人-

于 2012-06-21T18:42:03.663 回答