2010-09-18 85 views
6

我有一個Windows服務器2008 R2與IIS 7.IIS 7壓縮不起作用

默認情況下,當您在IIS中創建站點時,啓用壓縮。我檢查了壓縮模塊,並檢查了兩個複選框。

現在,我正在使用fiddler來檢查頁面是否被壓縮,但它看起來不像選擇No Compression並且頁面大小超過100 KB。

爲什麼即使在IIS 7中啓用了壓縮,頁面仍未壓縮?

任何建議將不勝感激。

謝謝。

回答

4

我已經找到了解決方案:-)此解決方案始終提供壓縮版本。

就我來說,在IIS 7.5經理,我已經檢查了這兩個盒子,以壓縮兩個:

  • 靜態文件
  • 動態文件

有時(首次一個網頁被提供),它是UNCOMPRESSED。 然後,只有第二次,它是COMPRESSED。

以下解決方案來自這裏: http://www.codeproject.com/Articles/242133/Making-the-most-out-of-IIS-compression-Part-conf

爲了讓IIS以ALWAYS緩存壓縮版本,而不是未壓縮版本,修改的applicationHost.config文件。您通常會在文件夾C:\ Windows \ System32 \ inetsrv \ config中找到該文件:

  1. 製作applicationHost.config的備份副本。
  2. 打開的applicationHost.config用文本編輯器, - 或 - 在IIS管理器,瀏覽到默認網站>配置編輯器,然後轉到節「system.webServer/urlCompression
  3. 找到段。
  4. 向urlCompression元素添加dynamicCompressionBeforeCache =「true」屬性,
  5. 摺疊|複製代碼
  6. 保存ApplicationHost.config文件
  7. 重置IIS服務器,以使新屬性生效
  8. 啓動IIS管理器,單擊服務器在樹的頂部,然後點擊右鍵重啓手邊

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

14

您的網頁內容是否爲動態內容(即.aspx或.php)?如果是這樣,你的IIS是否安裝了動態內容壓縮模塊?您可以通過查看「啓用動態內容壓縮」複選框來判斷。如果顯示爲灰色,則表示未安裝。

要安裝它,請參考以下鏈接:

Enabling Dynamic HTTP Compression in IIS7 on Windows Server 2008

從本質上講,它說(有很多圖片),您必須通過服務器管理器添加了動態內容壓縮角色服務,然後確保它在IIS管理器中啓用。

1

我們遇到了同樣的問題,但使用IIS8。關閉動態和靜態壓縮技巧,但您需要在更改設置後重新啓動IIS。