的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压缩?
谢谢
答
大多数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
}
个人而言,我快捷整个情况,并找到一个更称职的托管公司。 – 2011-06-10 00:34:19
托管公司,除了经常预先计算的压缩文件不会改变,并且不需要服务器再次完成相同的工作,它只是有意义的。各种缓存。 – hakre 2011-06-10 01:22:01