我正在尝试配置IIS 7.5以压缩静态htm和js文件。有谁知道它为什么不适合我?这是我的网站web.config:
<httpCompression>
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="false" />
当我将doDynamicCompression设置为true时,压缩开始工作。但我无法使用此选项,因为它在我的托管中被禁用。
谢谢。
答案 0 :(得分:3)
是什么让你认为压缩不起作用?检查事件视图日志。静态压缩模块有时会抛出错误,说正在使用的目录无效(主要是因为它需要写权限)。
仔细检查Fiddler或其他HTTP调试工具,确保客户端正在发送GZIP / Deflate的“Accept-Encoding”。
答案 1 :(得分:2)
Enabling Http caching and compression in IIS 7 for asp.net websites - Anil Kasalanati
这个怎么样?检查您的applicationHost.config文件。
答案 2 :(得分:2)
我从dynamicTypes中删除了mimeType =“application / x-javascript”,但是将其保留在staticTypes中。这让我可以关闭dynamicCompression但仍然压缩了javascript。
我已经阅读了一些帖子,这些帖子表明,当你在动态和静态中都有相同的mimeType时,动态中的值会获胜。当dynamicCompression关闭但在dynamicTypes中匹配时,javascript被视为动态,因此关闭。
这并不能解释为什么CSS有效,因为mimeType =“text / ”在两个地方都有。当涉及到CSS或任何text / 时,IIS必须更好地确定动态内容与静态内容。