用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> 

然而,它不工作 – 至less我不认为 – 我的主页(HTML)不是压缩,CSS和一些JS没有压缩。

它在HTML,CSS和JS上失败。

然而,有些事情是(或者是,谁知道当你检查时会是什么样子)gzipped。

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

奇怪的是,Firefox的(Google)PageSpeed浏览器扩展(无论当前版本是[2012年11月])给了我95%的速度评级(并没有关于压缩的警告),但YSlow和Chrome开发者工具都标志着我关于gzip,就像我在研究这个时发现的工具一样。

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

为了减lessHTTP请求,我在CSS中embedded了一些网页字体和图像(HTML5 BP规定不压缩图像,显然'.woff'文件已经被压缩了),所以我想也许是这样,我花了整整一天分离和asynchronous加载部分(通过Modernizr.load),但这并没有帮助…如果有任何事情使得由于http请求的增加而变得更糟(我意识到asynchronous资源的速度分数可能会引起误解)。

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

我不认为这是一个MIMEtypes的问题,我有四重检查(和三次编辑)我的.htaccess文件。

我的托pipe公司说,他们运行Apache 2.2.22,我看了我能find的所有东西。

是什么赋予了?

  1. Mod_Deflate是一个可以加载的模块,它不是任何版本的Apache的一部分。
  2. .htaccess文件可能包含“覆盖”指令。 哪些可以在Apache的主要configuration文件中进行pipe理控制,甚至可以configurationApache来使用不同的文件名。 仅仅因为你把东西放在.htaccess文件中并不意味着Apache可以或者将会做任何事情。

您必须联系您的主机,以确定是否以及如何configuration压缩。