2012-12-28 98 views
0

我的託管服務提供商不使用htaccess來啓用gzip。他們的支持對我說我的HTML文件來使用PHP,並添加頂部以下內容:Gzip沒有壓縮所有CSS和JS

<?php ob_start("ob_gzhandler"); ?> 

但是,使用gzipWTF找出如果我的網站被充分利用的gzip後,有多項資產列出 - 只保存3 - 沒有被壓縮。

如果您願意,請轉到gzipWTF,然後輸入我的網址: 「http://justinjwilson.com」。

檢查「細節」作爲一個選項。爲什麼大部分我的JS和CSS文件都沒有被壓縮?一個簡單的PHP解決方案將是最好的。請記住,我無法使用htaccess來啓用gzip。

回答

2

你的運氣與一個襯墊。將該行添加到現在PHP HTML頁面的頂部將導致PHP處理頁面內容的gzip。但是只有那個頁面。它對外部文件沒有影響,因爲它不以任何方式處理它們。 (單獨的文件是來自瀏覽器的單獨的GET請求; PHP對它們一無所知)。

所以你需要一個解決方案,讓PHP來處理所有內容的gzip的-ING。一個相對簡單的解決方案是編寫一個單獨的PHP頁面,以處理外部文件的全部的交付。像/resource.php?r=myscript.js。這個PHP腳本將有"ob_gzhandler"頂部打開,然後將簡單地開放文件,並呼應了出來。

+0

要添加到這一點,IE6會非常不高興,如果你gzip壓縮CSS內容(或者是它的js內容?)。 – Powerlord

+0

我明白了。這很好。那麼,我怎麼稱呼這個PHP文件呢?有沒有一個片段可以完全符合你的意思?在任何情況下,我需要編譯我的CSS和JS文件到2或3,但我不知道接下來用PHP代碼做什麼.. –

+1

我是如何錯過檢查你的答案後所有這一次... ?對於那個很抱歉! –