2011-04-01 80 views
4

我試圖配置IIS 7.5來壓縮靜態htm和js文件。有誰知道爲什麼它不適合我?這是我的網站web.config:IIS中的靜態壓縮不適用於htm,js文件

<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

我發現相同的問題。如果靜態壓縮處於打開狀態,它看起來像是帶有壓縮的CSS文件。但我需要js的動態壓縮。如果我這樣做,它也會.aspx。此外,httpCompression方案似乎沒有效果。 – JNappi 2011-07-06 20:02:57

回答

3

是什麼讓你覺得壓縮不起作用?檢查事件查看日誌。靜態壓縮模塊有時會拋出一個錯誤,指出正在使用的目錄是無效的(主要是因爲它需要寫入權限)。

使用Fiddler或其他HTTP調試工具進行仔細檢查,以確保客戶端正在發送GZIP/Deflate的「Accept-Encoding」。

+0

感謝您的提示。是的,這就是我如何檢測壓縮是否正在工作 - 查看響應http頭。它僅在doDynamicCompression =「true」時才發送Content-Encoding:gzip。事件日誌中沒有任何內容,我甚至試圖給予「C:\ inetpub \ temp \ IIS Temporary Compressed Files」文件夾的所有權限 - 沒有任何幫助。 – Evgenii 2011-04-03 07:56:49

1

我從dynamicTypes中移除了mimeType =「application/x-javascript」,但將其留在了staticTypes中。這使我可以關閉dynamicCompression,但仍然有JavaScript壓縮。

我讀過一些文章,建議當動態和靜態都有相同的mimeType時,動態值會勝出。當dynamicCompression關閉時,但在dynamicTypes中存在匹配時,javascript被視爲動態,因此關閉。

這並不能解釋爲什麼CSS工作,因爲mimeType =「text/」在兩個地方。在涉及CSS或任何文本/時,IIS必須更好地確定動態與靜態內容。

相關問題