IIS7压缩失败

时间:2009-07-10 03:46:26

标签: http iis-7 http-compression

我遇到IIS7的静态压缩问题。我已经阅读了其他一些帖子,而且我没有选择。这就是我所拥有的:

在applicationHost.config中,我已经设置了:

    <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" staticCompressionDisableCpuUsage="100">
        <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" />
        <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="*/*" enabled="true" />
        </staticTypes>
    </httpCompression>

我的网站启用了“启用静态压缩”复选框。

当我加载网站时,我收到一个很大的未压缩文件。如果我查看请求标头,我会看到:

Accept-Encoding:gzip,deflate

但是,在回复中,我得到了:

  

内容类型:application / x-javascript

     

Last-Modified:Fri,2009年7月10日01:13:41 GMT

     

Accept-Ranges:bytes

     

Etag:“3be6da9fb0ca1:0”

     

服务器:Microsoft-IIS / 7.0

     

X-Powered-By:UrlRewriter.NET 2.0.0,ASP.NET

     

日期:2009年7月10日星期五03:39:35 GMT

     

内容长度:81515

任何人都有任何想法我在这里做错了吗?

另外,FWIW,我正在使用Integrated,而不是“Classic”模式。

更新:我得到了它的工作,但我不确定它为什么现在有效。我所做的只是为网站启用动态压缩,一切都开始工作了。有人有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我相信这是因为我们正在使用UrlRewriter.NET。启用它时,所有文件请求都通过处理程序进行路由,以确定它们是否应该被重写。这会将css或js文件更改为动态请求而不是静态,因此在检查动态内容压缩框之前,GZip压缩似乎在IIS7中不起作用。无论如何,那是我的理论......

答案 1 :(得分:0)

我得到了它的工作,但我不确定它为什么现在有效。我所做的只是为网站启用动态压缩,一切都开始工作了。如果有人可以给我一个为什么这个有效的解释,我会给你答案。

答案 2 :(得分:-2)

我在IIS7压缩方面不是很好,但我想建议您查看提供全面压缩功能的Helicon Ape mod-gzip模块。关于如何启用和使用Helicon Ape mod-gzip的指南是here