我有一个问题,包括压缩在我的网站。使用WordPress和GZIP托管的站点,即使在.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总缓存、强制GZIP、WP压缩等等。还有..。没什么!
然后,我尝试手动压缩文件: style.css -> style.css.gz -> style.css -load,以ftp替换原始文件。谷歌的PageSpeed说:“很好!支持压缩!这里是你的速度点”,但我的浏览器说“我的style.css在哪里,这是什么类型的cr*p?”--因为style.css的响应没有编码的gsip报头。
谢谢你的建议!
发布于 2013-09-06 07:25:39
解决办法很简单。问题在于apache:AllowOverride指令。
AllowOverride None必须改为:
AllowOverride AuthConfig FileInfo或者仅仅是AllowOverride All
然后,如果要优化浏览器缓存
利用浏览器缓存
并设置ExpiresActive on,将HTTPD.conf配置为:
AllowOverride AuthConfig FileInfo Indexes或者仅仅是AllowOverride All
问题是,主机管理员帐户是否会更改设置……
https://stackoverflow.com/questions/18632081
复制相似问题