我正在尝试在web.config中完成此任务:
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
<httpCompression>
<staticTypes>
<add mimeType="image/svg+xml" enabled="true"/>
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
但Content-Encoding: gzip
永远不会出现在响应标头中。但是,压缩适用于其他类型的CSS。
答案 0 :(得分:2)
您需要在IIS中将SVG作为较低级别启用。这篇文章的答案是:https://stackoverflow.com/a/23940235/15233
答案 1 :(得分:2)
@Dominique Alexandre指出了一个解决方案,它显示了如何编辑applicationHost.config文件,该文件运行正常。
我只想添加如何使用IIS管理器GUI执行此操作。
转到IIS管理器&gt; YOUR_SERVER&gt;在管理部分&gt;配置编辑器&gt;展开system.webServer&gt; httpCompression&gt; dynamicTypes
然后添加您想要另外压缩的mime类型。
答案 2 :(得分:0)
更改mime-type真的不太好。
请参阅此文章,了解如何实现自定义httpmodule,它可以在几行代码中为您执行gzipping。
答案 3 :(得分:0)
在我的情况下,image/svg+xml
已在<staticTypes>
下列为mime类型,但它仍然无效。我一时兴起将mime类型添加到<dynamicTypes>
,这解决了问题。
答案 4 :(得分:-2)
不相关,请参阅Dominique Alexandre解决方案
好的,没有人回答。所以我会在这里发布我的临时解决方法。
我将mime类型更改为text / xml,因此它由IIS进行GZip压缩:
<mimeMap fileExtension=".svg" mimeType="text/xml" />