GZIP(使用.htaccess)压缩在localhost上工作但不在服务器上工作?

时间:2015-12-19 14:43:08

标签: apache .htaccess gzip web-hosting shared-hosting

我是GZip压缩新手,我正在努力加快网页效果。

localhost,我只是将此代码添加到我的.htaccess,它运行正常:

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

但是,当在线托管时(您可以在The Homework Life看到它),它表示未启用G-Zip压缩。这是Chrome审核的屏幕截图(不会出现在localhost上):

chrome_snapshot

这是因为我的托管不允许吗? (它是Biz.nf,并且它是免费托管。)如果是这样,我该怎么做才能绕过这个(我听说你可以使用PHP来gzip,但仅限于那些PHP文件,而不是其他资源)?或者我做错了什么?感谢。

1 个答案:

答案 0 :(得分:1)

如果未安装该模块,您可以尝试使用gzipIt.php

自行处理
<?php
ob_start("ob_gzhandler");
readfile($_SERVER["DOCUMENT_ROOT"].$_SERVER["REQUEST_URI"]);
?>

这里是.htaccess文件的规则:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ".(html?|txt|css|js)$" "gzipIt.php"

这将重定向所有带有结尾的文件(脚本除外)并将其推送到上面的脚本中,该脚本从重定向获取url并从硬盘驱动器中读取文件并将其解压缩。