2011-08-20 102 views
1

我開發了基於php-smarty的web應用程序,由於google-map和很多HTML代碼,頁面非常繁重。它在加載時全部大於1mb。我正在嘗試compress它,因爲它經常更新。內容編碼錯誤

我用:.htaccess配置壓縮,如: -

<IfModule mod_gzip.c> 
    mod_gzip_on  Yes 
    mod_gzip_dechunk Yes 
    mod_gzip_item_include file  \.(html?|txt|css|js|php|pl)$ 
    mod_gzip_item_include handler ^cgi-script$ 
    mod_gzip_item_include mime  ^text/.* 
    mod_gzip_item_include mime  ^application/x-javascript.* 
    mod_gzip_item_exclude mime  ^image/.* 
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 
</IfModule> 

...但沒有任何反應。

我也嘗試php gzipob_start()方法,它是扔內容編碼錯誤。如果你知道如何讓它成爲可能,請建議最佳方式。

在此先感謝。

+0

如果你被允許,在網站的鏈接可能會幫助您更好的現場解答。 – KyleWpppd

+0

»投擲「內容編碼錯誤」«沒有看到代碼就沒有告訴我們什麼。另外,你是否仔細檢查過,mod_gzip已經在Apache中被安裝了**和**? – feeela

+0

如果mod_gzip不可用,請嘗試使用mod_deflate。如果你使用apache的deflate,不需要在php中使用gzip。 – Gerben

回答

0

1)首先我想告訴你,我們有一些編碼過程的問題。有時我們會錯過編碼命令。如果我們遵循真實的程序(命令)或編碼軟件,那麼我們的問題就可以在這種情況下得到解決。作爲一個例子,我們要製作一個gzip文件, 。

 
`gzip -9 production.min.css` 

它會使production.min.css.gz文件。

2)有時可能會發生,如果您的配置從各種服務器中挑選數據爲apache等。解決方法是在您的php.ini中打開zlib.output_compression

打開您的php.ini。在於Debian/Ubuntu,這是/etc/php5/apache2/php.ini

vi /etc/php5/apache2/php.ini 

在Fedora/CentOS的/紅帽,這是/etc/php.ini中:

vi /etc/php.ini 

找到zlib.output_compression線和轉彎zlib.output_compression上:

zlib.output_compression = On 

重啓Apache算賬:

在Debian/Ubuntu中,我們可以運行:

/etc/init.d/apache2 restart 

在Fedora/CentOS的/紅帽,你運行:

/etc/init.d/httpd restart 

3)清除瀏覽器緩存,Cookie等只是要確定。 它最有可能不會永久或甚至暫時解決問題。

4)這可能是gzip的問題。 打開一個新選項卡並輸入以下內容"about:config"然後您會看到一條警告,請謹慎確認。 在搜索欄中輸入"network.http.accept-encoding"。 確保它的值是gzip, deflate如果不是右鍵點擊它並點擊重置選項。 有些人報告將其更改爲"true"可以解決問題,但我不會推薦它,因爲這很可能會導致更多的問題。

5)檢查你的防火牆,特別是如果你使用Zone Alarm。 刪除所有添加的程序並重置默認設置實際上是我第一次修復它。

6)清空ssl slate,進入控制面板,然後點擊Internet選項。 打開後點擊content tab並點擊clear ssl slate

7)您是否使用自定義DNS? IE瀏覽器OpenNic如果是這樣關掉它以確保。 如果你不知道我在說什麼忽略這一點。

8)運行一個很好的隱私清潔程序,如高級系統護理或任何你用來做到這一點。

上次發生在我身上的時候,我做了以下所有操作,然後是reboot。 我還沒有在任何瀏覽器中再次出現問題,現在已經很好。

以極大的感謝德魯先生