我通过 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
- Mod_Deflate 是一个模块,能被加载,它不是任何版本 Apache 的一部分。
- .htaccess 文件可能包含“覆盖”指令。哪些指令可以在 Apache 的主配置文件中进行管理控制,它们甚至可以配置 Apache 以使用不同的文件名。仅仅因为您将某些内容放入 .htaccess 文件中并不意味着 Apache 可以或将对其执行任何操作。
您必须联系您的房东来确定如果和如何配置压缩。