我在我的网站上包含压缩时遇到问题。使用 WordPress 和 GZIP 压缩 HTML 托管的站点即使在 .htaccess 或插件中没有任何行也可以正常工作。但是 JS/CSS 的压缩并没有开启。我尝试了很多不同的代码,例如:
<IfModule mod_deflate.c>
<FilesMatch "\.(html|php|txt|xml|js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
或者
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
或者
# compress all text and html:
AddOutputFilterByType DEFLATE text/css application/javascript
或者
# Or, compress certain file types by extension:
<Files *.css>
SetOutputFilter DEFLATE
</Files>
<Files *.js>
SetOutputFilter DEFLATE
</Files>
甚至在我的 header.php 中:
<?php ob_start("ob_gzhandler"); ?> //result - site crahes
和许多其他人......
与服务器管理员沟通,包含更多 apache 修改器:mod_headers、mod_filter 和 mod_expires,但压缩仍然不起作用。我不明白为什么???以及 HTML 的压缩是如何工作的???
我的一些服务器的 phpinfo():
PHP Version 5.3.3-7+squeeze14
Apache Version Apache/2.2.16 (Debian)
Loaded Modules mod_deflate mod_expires mod_filter mod_headers mod_include mod_mime mod_rewrite etc...
HTTP_ACCEPT_ENCODING gzip,deflate,sdch
Accept-Encoding gzip,deflate,sdch
我尝试过使用很多 WP 插件,例如:W3 Total Cache、Force GZIP、WP HTTP 压缩等……而且……什么都没有!
然后我尝试手动压缩文件:style.css -> style.css.gz -rename-> style.css -load to ftp and replace original。Google 的 PageSpeed 显示“太好了!启用压缩!这是您的速度点”,但我的浏览器显示“我的 style.css 在哪里,这是什么类型的 cr*p?” - 因为 style.css 的响应没有“编码 gsip”标头。
谢谢指教!!!