我试图为一系列嵌套文件夹设置IIS7内部网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文件夹,然后在所有Control(图像)文件夹中不继承它..但是有大量的图像文件夹需要通过。
有没有办法按文件类型设置这个或者不必单独浏览每个文件夹的东西?
*不幸的是我对文件夹结构没有任何控制权。
谢谢 -
答案 0 :(得分: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>
让非预压缩的东西默认为应该。
希望它可以帮助某人 -