gzipping我的网站似乎无法使用htaccess - 没有Content-Encoding:gzip

时间:2014-02-14 15:00:39

标签: .htaccess gzip mod-deflate

我正在尝试gzip我的网站。但我不确定它是否真的有效..
当我在checkgzipcompression.com,WhatsMyIP.org和YSlow上查看时 - 他们都告诉我该网站没有被压缩。 Yslow还告诉我,我有几个未压缩的文件,当然建议我这样做。

这是我的htaccess文件中应压缩网站的部分:

<IfModule mod_deflate.c>
#   Force compression for mangled headers.
    <IfModule mod_setenvif.c>
        <IfModule mod_headers.c>
            SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
            RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
        </IfModule>
    </IfModule>
#   Compress all output labeled with one of the following MIME-types
    <IfModule mod_filter.c>
        AddOutputFilterByType  DEFLATE  application/atom+xml \
                                        application/javascript \
                                        application/json \
                                        application/rss+xml \
                                        application/vnd.ms-fontobject \
                                        application/x-font-ttf \
                                        application/x-web-app-manifest+json \
                                        application/x-httpd-php \
                                        application/x-httpd-fastphp \
                                        application/xhtml+xml \
                                        application/xml \
                                        font/opentype \
                                        image/svg+xml \
                                        image/x-icon \
                                        text/css \
                                        text/html \
                                        text/plain \
                                        text/x-component \
                                        text/xml
        </IfModule>
    </IfModule>

此代码基于h5bp(https://github.com/h5bp/html5-boilerplate/blob/v4.3.0/doc/TOC.md)。

如果我将ini_set("zlib.output_compression", 4096);添加到PHP启动脚本中 - checkgzipcompression.com和WhatsMyIP.org都会告诉我我的网站已被压缩。随着页面重量以kb为单位。

但YSlow仍然告诉我,我有多个未压缩的文件 在用于chrome和firefox的开发人员工具中,每个请求/文件都会显示未压缩的文件大小(我不确定它是否会被假设为(?))。
它确实说Accept-Encoding: gzip,deflateVary: Accept-Encoding,但没有Content-Encoding: gzip

我刚与我的服务器提供商 - BlueHost聊天 - 他们说mod_deflate会在所有服务器上自动运行。但由于它是动态的,大多数网站扫描仪都看不到它。

结论是,我无法确定我的网站实际上已被压缩。

.htaccess - 文件如上所示,zlib.output_compression()已关闭 - 如果您有能力查看它..

域名为:http://barkeeper.thomaskile.me

这是firefox对该页面所说的内容: firefox dev tools

1 个答案:

答案 0 :(得分:-1)

Bluehost的问题相同。我检查了实际的文件大小,它们没有压缩。获得与自动相同的BS。首先,他们试图告诉我它只在服务器负载很重的时候起作用......显然这个人是无能为力的。然后我被告知服务器负载阈值很低,并且当超过该阈值时禁用压缩。我很满意这些答案到处都是。