的gzip不mod_gzip的,也不mod_deflate模块和预gzip压缩文件

问题描述:

我的托管公司不支持mod_gzip的,也不mod_deflate模块。的gzip不mod_gzip的,也不mod_deflate模块和预gzip压缩文件

我必须gzip压缩的.js和css文件

我已经预先压缩的文件。

我使用的Joomla,和脚本添加到文档中,我必须使用每当编码由用户(PHP的的Joomla代码示例)接受了服务于.js.gz文件的PHP文件:

$document = &JFactory::getDocument(); 

    $document->addScript($jQueryPath); 

我将下面的指令添加到.htaccess;然而,浏览器不解压.js.gz文件

# Add some gzip to the bunch 
AddEncoding x-gzip .gz 
<FilesMatch \.js.gz$> 
     ForceType text/javascript 
     Header set Content-Encoding "gzip" 
</FilesMatch> 
<FilesMatch \.css.gz$> 
     ForceType text/css 
     Header set Content-Encoding "gzip" 
</FilesMatch> 

RewriteCond %{REQUEST_FILENAME} ^.+\.(js|css)$ [NC] 
RewriteCond %{HTTP:Accept-Encoding} gzip 
RewriteCond %{REQUEST_FILENAME}.gz -f 
RewriteRule ^(.+)$ $1.gz [L,QSA,NC,NS] 

可以在任何人的帮助如何在所述条件下gzip压缩?

谢谢

+2

个人而言,我快捷整个情况,并找到一个更称职的托管公司。 – 2011-06-10 00:34:19

+0

托管公司,除了经常预先计算的压缩文件不会改变,并且不需要服务器再次完成相同的工作,它只是有意义的。各种缓存。 – hakre 2011-06-10 01:22:01

大多数PHP安装附带的Zlib扩展, 让你能够操作的gzip文件。

看看这些PHP手册,来完成你的要求为:

http://www.php.net/manual/en/function.gzcompress.php
http://www.php.net/manual/en/function.gzdeflate.php
http://www.php.net/manual/en/function.gzencode.php

您可以用$ _SERVER超全局检查接受编码头:

if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate')) 
{ 
// DO STUFF HERE 
} 
elseif (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) 
{ 
// DO STUFF HERE 
}