7

我有一个带有 IIS 7 的 Windows 服务器 2008 R2。

默认情况下,当您在 IIS 中创建站点时,会启用压缩。我检查了压缩模块,并检查了两个复选框。

现在,我正在使用 fiddler 检查页面是否正在被压缩,但似乎它们不是因为选择了不压缩并且页面大小超过 100 KB。

为什么即使在 IIS 7 中启用了压缩,页面也没有压缩?

任何建议将不胜感激。

谢谢。

4

3 回答 3

17

您的页面内容是动态的(即 .aspx 或 .php)吗?如果是这样,您的 IIS 是否安装了动态内容压缩模块?您可以通过查看“启用动态内容压缩”复选框来判断。如果它是灰色的,那么它没有安装。

要安装它,请参考以下链接:

在 Windows Server 2008 上的 IIS7 中启用动态 HTTP 压缩

本质上,它说(有很多图片)您必须通过服务器管理器添加动态内容压缩角色服务,然后确保在 IIS 管理器中启用它。

于 2011-04-27T18:18:48.107 回答
5

我找到了一个解决方案:-) 这个解决方案总是提供压缩版本。

对我来说,在 IIS 7.5 管理器中,我选中了两个框,以便压缩两者:

  • 静态文件
  • 动态文件

有时(第一次提供网页),它是未压缩的。然后,只有第二次,它被压缩了。

以下解决方案来自这里: http: //www.codeproject.com/Articles/242133/Making-the-most-out-of-IIS-compression-Part-conf

为了让 IIS 始终缓存压缩版本,而不是未压缩版本,请修改applicationHost.config文件。您通常会在文件夹 C:\Windows\System32\inetsrv\config 中找到此文件:

  1. 制作 applicationHost.config 的备份副本。
  2. 使用文本编辑器打开 applicationHost.config,或者 - 在 IIS 管理器中,导航到默认网站 > 配置编辑器,然后转到“ system.webServer/urlCompression ”部分
  3. 找到该部分。
  4. dynamicCompressionBeforeCache ="true" 属性添加到 urlCompression 元素,
  5. 折叠 | 复制代码</li>
  6. 保存 applicationHost.config 文件
  7. 重置IIS服务器使新属性生效
  8. 启动 IIS 管理器,单击树顶部的服务器,然后单击右侧的重新启动

我希望它能拯救你的一天,因为它拯救了我的一天!

于 2014-08-02T12:28:07.110 回答
1

我们遇到了同样的问题,但使用的是 IIS8。关闭动态和静态压缩可以解决问题,但您需要在更改设置后重新启动 IIS。

于 2014-11-07T15:09:44.480 回答