2011-12-27 112 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