无法启用压缩(deflate/gzip)

Posted

技术标签:

【中文标题】无法启用压缩(deflate/gzip)【英文标题】:not able to enable compression (deflate/gzip) 【发布时间】:2014-01-13 22:11:53 【问题描述】:

由于 YSlow 仍然建议在我的网站 http://www.donboscoeltern.de 上启用压缩,我已尝试通过在 .htaccess 文件中包含以下 sn-ps 代码(下面列出的是最后 3 个版本):


# 1
<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>  

# 2
# compress text, HTML, JavaScript, CSS, and XML
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# remove browser bugs
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent

# 3
<ifmodule mod_deflate.c>
# Insert filter
SetOutputFilter DEFLATE

# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</ifmodule>

以上版本均未引起任何变化:使用 gtmetrix 等进行的测试都表明该站点 http://www.donboscoeltern.de 仍未压缩。

你有什么想法吗? 谢谢!

问候, 弗拉德·吉图列斯库

【问题讨论】:

也许您的主机正在阻止(或重写)您的某些 HTTP 标头。 我已经和我的托管公司谈过了,他们正在这样做:mod_gzip 已为入门级托管关闭(这就是我为这个只有 1 页的网站所拥有的)。我还没有关于 mod_deflate 的答案... 当您解决(或找到)您需要了解问题的所有内容时,请记住写下您的问题的答案;) 我刚刚做了。再次感谢! 【参考方案1】:

奇怪行为的原因 - 对通过 .htaccess 文件进行压缩的不同方法完全没有反应 - 是托管公司:他们关闭了用于入门级托管的 mod_gzip 模块(我有)。他们的解决方案:购买下一个级别!

感谢您的提示,cubitouch!

亲切的问候, 弗拉德

【讨论】:

以上是关于无法启用压缩(deflate/gzip)的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf .htaccess mod_deflate gZip压缩

使用 PHP ob_start() 与 Apache Deflate/Gzip 压缩内容?

远程传输命令出错并出现意外响应:<h1>401: Unauthorized</h1>Unauthorized User: deflate, gzip

(005)Hadoop基础之Compression

使用 StringZipper 压缩解压字符串

master