前面總結了一個GZIP失敗的原因:PHP的extension和iis沖突,今天又遇到一個新的情況,確認沒有沖突,各項權限設置正常,各項配置正確,但GZIP就是開啟失敗,確認過幾遍沒有問題,就只能從其他方面找下原因所在。
因為是IIS,所以考慮影響GZIP開啟的原因還是得從IIS的各項裡面著手,而IIS上除了IIS本身,也就ISAPI篩選器和主目錄裡面的通配符應用程序映射,這兩個地方可以掛接外部的dll文件,來擴展IIS的功能。
先看ISAPI篩選器,服務器上安裝了不少的ISAPI篩選器,用於URL重寫的組件ISAPI_Rewrite、.Net、PHP和其他一些篩選器。先將除了上述三個ISAPI篩選器之外的篩選器刪除,重啟IIS,檢測GZIP,依然是沒有輸出。
再到主目錄裡面的通配符應用程序映射裡面查看,因為某些原因,添加了一個通配符應用程序映射,刪除之,重啟IIS,再來檢測GZIP,HTTP頭裡面已經輸出了GZIP,再次用網上的gzip檢測工具檢測,提示支持GZIP。
困擾了我一周的GZIP失敗的問題找到,下面的工作就是聯系通配符應用程序的開發商,反饋這個問題,讓他們解決了。