无法启用压缩(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