2012-02-20 50 views
0

的.htaccess对CSS apache的mod_deflate模块和js

<ifmodule mod_deflate.c> 
# compress the files 
AddOutputFilterByType DEFLATE text/plain 
AddOutputFilterByType DEFLATE text/html 
AddOutputFilterByType DEFLATE text/xml 
AddOutputFilterByType DEFLATE text/css 
AddOutputFilterByType DEFLATE application/xml 
AddOutputFilterByType DEFLATE application/xhtml+xml 
AddOutputFilterByType DEFLATE application/rss+xml 
AddOutputFilterByType DEFLATE application/javascript 
AddOutputFilterByType DEFLATE application/x-javascript 

# removes some bugs 
BrowserMatch ^Mozilla/4 gzip-only-text/html 
BrowserMatch ^Mozilla/4\.0[678] no-gzip 
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 
Header append Vary User-Agent 
</ifmodule> 

而对于PHP文件

<?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) 
ob_start("ob_gzhandler"); else ob_start(); ?> 

而对于PHP文件一切正常,但没有对CSS,JS文件。有小费吗 ?

+0

愚蠢的问题..你真的让mod_deflate模块?上面配置的东西,当且仅当mod_deflate被加载时。 – FauxFaux 2012-02-20 02:16:30

+0

是的,我有SetOutputFilter DEFLATE – Ben 2012-02-20 02:21:54

+0

我猜人工在httpd.conf中设置是否启用了mod_deflate – 2012-02-20 02:26:14

回答

3

要测试mod_deflate模块实际上是工作,尽量把这个在你的httpd.conf文件的顶部:

LoadModule deflate_module modules/mod_deflate.so 

并在httpd.conf文件的底部:

############################################## 
#Mod Deflate Config: 
SetOutputFilter DEFLATE 
BrowserMatch ^Mozilla/4 gzip-only-text/html 
BrowserMatch ^Mozilla/4\.0[678] no-gzip 
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 
DeflateFilterNote Input input_info 
DeflateFilterNote Output output_info 
DeflateFilterNote Ratio ratio_info 
LogFormat '(%{ratio_info}n%%) "%r" %{output_info}n/%{input_info}n' deflate 
CustomLog logs/compression.log deflate 
############################################### 

这只会在浏览器发送gzip-ready头文件时压缩任何东西。

在您的网站上获得点击后,请检查apache日志文件夹中的“compression.log”。 发布输出。

+0

当我把LoadModule deflate_module modules/mod_deflate.so这个在.htaccess它说500内部服务器错误 – Ben 2012-02-20 02:30:03

+0

你可以检查你甚至有文件?打开apache/modules /并查看它是否确实存在。 (请检查error.log和后期输出)。并确保您只调用一次,如果您已经启用了该行,则不要添加其他行。 – ionFish 2012-02-20 02:31:55

+0

我没有访问到..巫婆意味着我必须写信给托管公司 – Ben 2012-02-20 02:34:16

1

在httpd.conf确保此行没有被注释掉

LoadModule deflate_module modules/mod_deflate.so 

如果再取消它,并重新启动Apache服务