使用 htaccess 启用 gzip...为什么会成功或失败?

使用 htaccess 启用 gzip...为什么会成功或失败?

我通过 Justhost 共享主机。我使用 HTML5 Boilerplate .htaccess(尝试过其他方法,但没有成功)压缩部分如下:

<IfModule mod_deflate.c>

  # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
  <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/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>

但是,它不起作用 - 至少我不认为 - 我的主页(html)没有压缩,CSS 和一些 JS 没有被 gzip 压缩。

HTML、CSS 和 JS 均失败。

但是,有些东西(或者曾经是,谁知道当你检查时它会是什么样子)被 gzip 压缩了。

我的域名是http://adaminfinitum.com/

奇怪的是,Firefox 的(Google)PageSpeed 浏览器扩展(无论当前版本是什么 [2012 年 11 月])给我的速度评级为 95%(并且没有关于压缩的警告),但 YSlow 和 Chrome 开发人员工具都向我发出有关 gzip 的警告,我在研究这个问题时在这里找到的一个工具也是如此。

为了减少 cookies,我在我的网站上设置了一个子域名,我想也许就是这样,所以我也在那里添加了一个 .htaccess,但没有运气。

为了减少 http 请求,我在 CSS 中嵌入了一些 webfonts 和图像(HTML5 BP 规定不压缩图像,显然“.woff”文件已经被压缩),所以我想也许就是这样,我花了一整天时间分离和异步加载这些部分(通过 Modernizr.load)但这也没有帮助......如果有的话,它由于增加 http 请求而使情况变得更糟(我意识到异步资源的速度分数可能会产生误导)。

研究这个问题,这似乎是一个相当普遍的问题,但我还没有找到解释/解决方案。

我不认为这是一个 MIME 类型的问题,我已经四次检查(并三次编辑)了我的 .htaccess 文件。

我的托管公司说他们运行的是 Apache 2.2.22,而且我已经查看了我能找到的所有内容。

是什么赋予了?

答案1

  1. Mod_Deflate 是一个模块,被加载,它不是任何版本 Apache 的一部分。
  2. .htaccess 文件可能包含“覆盖”指令。哪些指令可以在 Apache 的主配置文件中进行管理控制,它们甚至可以配置 Apache 以使用不同的文件名。仅仅因为您将某些内容放入 .htaccess 文件中并不意味着 Apache 可以或将对其执行任何操作。

您必须联系您的房东来确定如果如何配置压缩。

相关内容