2013-09-05 32 views
4

當我檢查這個網站:http://www.tropicbreeze.co.uk/,例如http://checkgzipcompression.com/ - 它報告說它使用Gzip。但是Yslow不同意。爲什麼Gzip會壓縮我的css&javascript而不是我的HTML/php?

我有這個在我的.htaccess文件:

AddOutputFilterByType DEFLATE text/html text/php text/x-php application/php application/x-php application/x-httpd-php-source text/plain text/xml text/css text/javascript application/x-javascript application/xhtml+xml application/javascript application/x-httpd-php 

在Firebug的頁眉Net標籤檢查,我可以看到,各種相關的.css和.js該網頁上的文件具有內容編碼gzip按預期顯示 - 但php文件沒有。

Yslow告訴我,該主頁不使用Gzip。 Firebug Net選項卡表示服務器上的主頁(以及服務器上的其他php文件)未通過內容編碼發送gzip

我嘗試添加所有我能找到的mimetype篩選器,並且就我而言可以看到,DEFLATE text/html應該覆蓋它,但仍然沒有喜悅。

我已清除我的緩存並且未使用代理服務器。

任何人都可以提出我錯過了什麼嗎?爲什麼php文件在其他文件不被gzip壓縮?或者,如果他們正在被壓縮,爲什麼Firebug/yslow認爲他們不是?

回答

0

不知道到底是什麼的問題可能是,但也許一個簡單的辦法是將嘗試像...

<IfModule mod_deflate.c> 
    <FilesMatch "\.(css|htm|html|js|php|txt|xml)$"> 
     SetOutputFilter DEFLATE 
    </FilesMatch> 
</IfModule> 

...這應設置壓縮上流行的文件擴展名包括PHP。

我個人認爲這種格式對於人類來說也更容易閱讀。獎金!

+1

不幸的是,我嘗試過這種格式,它也有同樣的問題 - 所有的東西(CSS,JavaScript等)都是從頁面本身的HTML中分離出來的,而不是gzip。 我認爲你使用的格式和它的工作原理?它看起來像問題不是我的語法,在這種情況下,但有關服務器配置... – Victoria

+0

是的,該格式適用於我的網站。 是[www.tropicbreeze.co.uk](http://www.tropicbreeze.co.uk/)您遇到麻煩的網站?如果不是,你可以發佈一個鏈接到真實的網站?我想從我的瀏覽器中看到客戶端標題,看看它們當前如何設置。 –

+1

真的很抱歉,我錯過了 - 是的,那是(服務器上)顯示此行爲的真實站點之一。除了php/html文件之外,所有東西都在Yslow中進行gzip報告,而不是。我仍然對此感到迷惑,因此感激地收到了任何提示。 – Victoria