我的托管公司不支持mod_gzip,也不支持mod_deflate。
我必须gzip .js和css文件
我已预压缩文件。
我使用Joomla,并且为文档添加脚本,每当用户接受编码时,我必须使用一个提供.js.gz文件的PHP文件(PHP joomla代码示例):
$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的问题吗?
谢谢,
答案 0 :(得分:0)
大多数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超全局来检查Accept Encoding Header:
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate'))
{
// DO STUFF HERE
}
elseif (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
{
// DO STUFF HERE
}