1

我遇到了 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>

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

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

接受编码:gzip,deflate

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

内容类型:application/x-javascript

最后修改时间:格林威治标准时间 2009 年 7 月 10 日星期五 01:13:41

接受范围:字节

电子标签:“3be6da9fb0ca1:0”

服务器:Microsoft-IIS/7.0

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

日期:格林威治标准时间 2009 年 7 月 10 日星期五 03:39:35

内容长度:81515

有人知道我在这里做错了什么吗?

另外,FWIW,我在集成模式下运行,而不是“经典”模式。

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

4

3 回答 3

1

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

于 2010-12-10T20:18:57.783 回答
0

我得到了它的工作,但我不知道为什么它现在工作。我所做的只是为站点启用动态压缩,一切都开始工作了。如果有人可以解释为什么这会奏效,我会在答案上给予他们信任。

于 2009-08-13T13:44:46.943 回答
-2

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

于 2009-07-14T13:41:50.093 回答