我正在创建一个动态的站点地图,我希望在输出之前进行gziped。我怎么做?我应该添加什么标题?
答案 0 :(得分:0)
您可以通过Apache配置来完成。在根目录中创建一个名为.htaccess
的文件,并在其中加入以下行:
<Location />
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</Location>
或者只是这一行:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
更多信息是here。
答案 1 :(得分:0)
在this page上概述了两种发送gzip压缩输出的方法。
最简单的解决方案是使用带有ob_gzhandler的输出缓冲:
<?php
ob_start("ob_gzhandler");
?>
ob_gzhandler将负责设置正确的标头。如果客户端不支持gzip编码,它也不会对数据进行gzip。
但是,ob_gzhandler要求启用Zlib库。有关详细信息,请参阅ob_gzhandler的文档。