2011-12-27 96 views
0

我的apache web服務器管理員聲稱,服務器支持deflate gzip壓縮並且出於某種原因,向我顯示環境變量HTTP_ACCEPT_ENCODING gzip,deflateApache服務器壓縮和槓桿瀏覽緩存問題

我知道有兩種壓縮方法。方法之一,是在PHP水平,使用ob_start('ob_gzhandler')和第二個方法是在服務器級別,使用.htaccess在它一些命令,像這樣的

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css

<FilesMatch "\\.(js|css|html|htm|php|xml)$">

SetOutputFilter DEFLATE

</FilesMatch>

我用一些工具檢查兩種壓縮方法,如page speed

第一種方法適用於我,但第二種方法不起作用。 我想使用服務器端壓縮方法,並且我發現網絡中有很多人有像我這樣的問題。 服務器管理員只是聲稱everything is ok from his point of view and gzip/deflate is active

我有leverage browse caching其他問題,谷歌推薦網站管理員使用它。

就像壓縮,有標準編碼.htaccess文件,像這樣的

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/jpg "access 1 year"

ExpiresByType image/jpeg "access 1 year"

ExpiresByType image/gif "access 1 year"

ExpiresByType image/png "access 1 year"

ExpiresByType text/css "access 1 month"

ExpiresByType application/pdf "access 1 month"

ExpiresByType text/x-javascript "access 1 month"

ExpiresByType application/x-shockwave-flash "access 1 month"

ExpiresByType image/x-icon "access 1 year"

ExpiresDefault "access 2 days"

</IfModule>

不幸的是,這是行不通的像壓縮。 我們的apache服務器版本是2.2.20。

我不知道如何證明服務器管理員,這是有問題的服務器安裝。

也許是這個版本的apache的bug。 我真的很迷惑,特別是當我明白世界上有一些人,他們和我一樣有同樣的問題,而且沒有回覆。

回答

0

一個可能的解釋:Apache服務器可能被配置爲不允許覆蓋(即,本地.htaccess文件中的更改)。請參閱Apache AllowOverride docs page以查看這可能是否是此問題。

在我的情況我的共享虛擬主機沒有mod_gzip的或mod_deflate模塊安裝,所以我用你提到的相同的PHP方法,它工作得很好。

我推薦使用Curl作爲測試壓縮和過期設置的快速方法。 (這也是一起分享你的服務器管理結果的簡單方法。)

例如,要檢查壓縮,包括「--compress」選項,並尋找一個響應頭「內容編碼:gzip 「:

$ curl --head --compress http://cdn.sstatic.net/stackoverflow/all.css 
HTTP/1.1 200 OK 
Server: nginx/0.8.36 
Date: Wed, 28 Dec 2011 03:15:22 GMT 
Content-Type: text/css 
Connection: keep-alive 
Cache-Control: max-age=604800 
Last-Modified: Wed, 28 Dec 2011 00:54:40 GMT 
ETag: "0c85c47fbc4cc1:0" 
X-Cache: HIT 
Content-Encoding: gzip

您還可以檢查工作過期頭:

$ curl --head http://l.yimg.com/a/i/us/sp/v/ncaaf/teams/1/80x60/sss3.gif 
HTTP/1.1 200 OK 
Date: Thu, 22 Dec 2011 01:34:59 GMT 
Cache-Control: max-age=315360000 
Expires: Sun, 19 Dec 2021 01:34:59 GMT 
Last-Modified: Fri, 11 Dec 2009 16:54:28 GMT 
Accept-Ranges: bytes 
Content-Length: 3059 
Content-Type: image/gif 
Age: 524606 
Connection: keep-alive 
Server: YTS/1.20.9
+0

Thanks..very不錯......我不知道......嫋嫋我下載它,它適合你的例子,非常漂亮不幸的是,當我使用它像'curl --compress http:// www.mysite.com'它返回'406不可接受的錯誤!....我爲我的新錯誤創建了新的問題。請參閱此[鏈接](http://stackoverflow.com/questions/8653271/curl-command-return-http-1-1-406-not-acceptable-error)...但沒有有用的回覆..這些問題到底是什麼?!...誰是救贖者?!...你可以布賴恩...我知道你是男人布萊恩。 – 2011-12-28 09:03:29