标签: mod-deflate

如何通过 .htaccess 启用 Gzip 或 Deflate 压缩?

如何通过 .htaccess 启用 Gzip 或 Deflate 压缩,现在哪个最好?需要的代码示例。

.htaccess gzip mod-deflate apache-2.2

22
推荐指数
3
解决办法
6万
查看次数

为什么 Apache 不 gzip 带有参数的 css 或 js 文件?

启用 mod_deflate 的 apache 不会压缩某些 CSS 和 JS 文件。这些文件在 YSlow 中看起来像“[domain.name]/aggregator.css?...”或“[domain.name]/misc/jquery.js?...”。没有“?”的其他 CSS 和 JS 被压缩。请解释我如何让 apache 也压缩这些文件。

我在 .htaccess 文件中添加了以下行

  <IfModule mod_deflate.c>
        <FilesMatch "\.(css|js|x?html?|php)$">
           SetOutputFilter DEFLATE
        </FilesMatch>
  </IfModule>
Run Code Online (Sandbox Code Playgroud)

谢谢

gzip mod-deflate apache-2.2

9
推荐指数
2
解决办法
1万
查看次数

mod_deflate - 大多数浏览器的最佳配置

我想知道这里是否有人可以帮助我确定在 Apache 中使用 mod deflate 的最佳标准配置。基本上,mod_deflate 建议使用以下配置立即开始:

仅压缩几种类型

AddOutputFilterByType DEFLATE text/html text/plain text/xml http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

但是,仅通过阅读文档,您就可以为所有浏览器自定义它。此外,您可以为所有不同类型的 mime 类型自定义 mod_deflate。我想知道是否有人尝试过这些设置并找到了对所有浏览器都最佳的设置。

Apache 提供的另一个示例,但如果您不了解所有配置选项,请不要使用:

<Location />
# 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 …
Run Code Online (Sandbox Code Playgroud)

proxy mod-proxy virtualhost mod-deflate apache-2.2

8
推荐指数
1
解决办法
1万
查看次数

Apache 压缩 .xml.gz 文件

我注意到谷歌网站管理员工具中关于站点地图的 gzip 版本的错误。结果sitemap.xml.gz文件被压缩了两次:一次是在创建时(应该是这样),另一次是在服务时。

.htaccess文件有此规则

AddOutputFilterByType DEFLATE application/xml
Run Code Online (Sandbox Code Playgroud)

我认为它与 gzip 压缩的 XML 文件不匹配,但显然删除它可以解决问题。

我究竟做错了什么?

compression .htaccess gzip mod-deflate apache-2.2

7
推荐指数
1
解决办法
715
查看次数

如何判断 mod_deflate 是否真的有效?

我已将以下内容放入我的 http.conf 文件中:

# mod_deflate configuration
<IfModule mod_deflate.c>

# Restrict compression to these MIME types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css

# Level of compression (Highest 9 - Lowest 1)
DeflateCompressionLevel 9

# 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 \bMSI[E] …
Run Code Online (Sandbox Code Playgroud)

gzip mod-deflate apache-2.2

6
推荐指数
1
解决办法
2万
查看次数

如何使用 Apache2 mod_deflate 启用压缩内容编码?

无论我如何使用不同的 Accept-Encoding 值进行测试,它总是以 gzip 形式返回。

curl -I -H  'Accept-Encoding: gzip' http://www.example.com
Content-Encoding: gzip


curl -I -H  'Accept-Encoding: deflate' http://www.example.com
Content-Encoding: gzip
Run Code Online (Sandbox Code Playgroud)

那么如何强制放气呢?

mod-deflate apache-2.2

6
推荐指数
1
解决办法
1520
查看次数

Apache mod deflate 不压缩 php 输出

我已经启动并运行了 mod_deflate。我可以在我的 apache 服务器中放入一个 something.txt 文件并使用 curl 来检查它。

curl --compressed -I /somefile.txt 给了我以下很好的压缩信息:

Vary: Accept-Encoding
Content-Encoding: gzip
Run Code Online (Sandbox Code Playgroud)

但是如果我使用 /some.php 我会回来:

Accept-Ranges: bytes
X-Powered-By: PHP/5.4.4-14+deb7u5
Run Code Online (Sandbox Code Playgroud)

但没有内容编码:gzip,我使用的 .htaccess 有多个选项:

SetOutPutFilter DEFLATE
Run Code Online (Sandbox Code Playgroud)

或者

AddOutputFilterByType DEFLATE application/json
Run Code Online (Sandbox Code Playgroud)

我还检查了 php.ini 中的 zlib 压缩是否关闭,并尝试将输出缓冲区设置为关闭。但无论我尝试什么,我都无法让 php 输出被 apache 压缩。从 apache 到 zip 的开销比我使用 php zlib 时少。

我看到了足够多的帖子,比如Apache 输出压缩适用于 CSS/JS 而不是 PHP,但可以从 php 压缩。我想要 apache 来处理它。

我一定在这里遗漏了一些愚蠢的东西。

更新:我解决了所有问题,也是因为给出的答案。最后它仍然没有100%起作用。这是由于安装了错误的软件包。使用了 apache2filter,这让我走错了路。

php mod-deflate apache-2.2

6
推荐指数
1
解决办法
1万
查看次数

mod_deflate 支持的压缩编码

在我看来,Apache 2.2 中的 mod_deflate 总是会返回:

内容编码:gzip

绝不:

内容编码:放气

有人向我解释说,虽然可能存在 deflate 算法,但 mod_deflate 以文件格式命名,其中算法可以是以下任何一种:

gzip,bzip。压缩包

在这三个中, mod_deflate 提供了 gzip。

似乎 gzip 是 Web 浏览器中最流行和最受广泛支持的算法,但我知道一些 Web 服务器和代理确实返回 Content-Encoding: deflate。

除了模块名称的混淆之外, mod_deflate 确实只会返回 Content-Encoding: gzip?

谢谢你。

compression mod-deflate deflate apache-2.2

5
推荐指数
1
解决办法
270
查看次数

DEFLATE 在 IE9 中不起作用

我在堆栈溢出上发布了这个,但有人建议我在这里可能会有更多的运气:

我之前没有使用 deflate 对网页进行编码,所以这对我来说是新的领域,但是当我查看 ff 中的网络流量时,我的 all.js 文件现在从 427kb 变为 117kb,所以我似乎可以在这里使用它。但是在IE9中没有变化。我的响应头说 Content-Encoding: gzip in FF but not IE9

这是我的.htaccess:

<ifModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</ifModule>
Run Code Online (Sandbox Code Playgroud)

IE9 中 all.js 的请求头:

   Key  Value
Request GET /all.js HTTP/1.1
Accept  application/javascript, */*;q=0.8
Referer http://www.alexchapman.co.uk/
Accept-Language en-GB
User-Agent  Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding gzip, deflate
Host    static.alexchapman.co.uk
Connection  Keep-Alive
Cache-Control   no-cache
Run Code Online (Sandbox Code Playgroud)

IE9 中 all.js 的响应头:

Key Value
Response    HTTP/1.1 200 OK
Date …
Run Code Online (Sandbox Code Playgroud)

web-server mod-deflate deflate apache-2.2

5
推荐指数
1
解决办法
3698
查看次数

Apache + Php-FPM + APC:mode_deflate 不压缩 HTML 输出

我准备了一个服务器来运行一个 Magento 实例:Apache + Php-FPM + APC

我遇到的问题是 Apache 没有压缩 Magento PHP 脚本的 HTML 输出。

在我的 .htaccess 我有:

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml
AddOutputFilterByType DEFLATE application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
Run Code Online (Sandbox Code Playgroud)

我还尝试使用以下方法压缩所有内容:

SetOutputFilter DEFLATE
Run Code Online (Sandbox Code Playgroud)

但我没有运气。

Zlib 压缩被禁用:

php_flag zlib.output_compression on
Run Code Online (Sandbox Code Playgroud)

我的猜测是这与 Php-FPM 或 APC 有关系,但我不确定问题是什么。

为未压缩页面返回的 MIME 类型是:

Content-Type: text/html; charset=UTF-8
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

更新:问题似乎与 PHP 处理的任何内容有关,如果我将 html 输出复制到 .html 文件然后获取它,它将被压缩,如果我将同一文件重命名为 .php 并将其获取输出不会被压缩。以下是标题:

[[响应标题 HTML 文件]]

Date Fri, 29 Aug 2014 20:03:13 GMT
Content-Encoding gzip …
Run Code Online (Sandbox Code Playgroud)

php-fpm mod-deflate apache-2.2 alternative-php-cache

5
推荐指数
0
解决办法
1416
查看次数

Apache mod_cache 和 mod_deflate?

我们有一个带有 mod_cache 和 mod_deflate 以及其他模块的 Apache 2.2。问题是,如果我们在 Apache 文档中附加 Vary 标头...

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
Run Code Online (Sandbox Code Playgroud)

...我们最终在缓存中为每个用户代理变体提供了服务资源的副本。这会浪费磁盘空间并降低命中率。

那么,这个问题的首选解决方案是什么?放弃 Vary 标头并仅压缩“安全”资源,例如纯 html?

http-headers mod-deflate mod-cache apache-2.2

2
推荐指数
1
解决办法
2525
查看次数

`mod_deflate` 正在返回 `Content-Encoding: gzip`。这是正常的吗?

mod_deflate在我的 Apache 2.2 Web 服务器上配置。但是我的响应标头显示gzipContent-Encoding而不是deflate

HTTP/1.1 200 OK
Date: Mon, 26 Sep 2011 22:26:11 GMT
Server: Apache
Last-Modified: Mon, 26 Sep 2011 11:32:54 GMT
Accept-Ranges: bytes
X-Powered-By: Servlet/2.5 JSP/2.1
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Age: 36
Content-Length: 144338
Keep-Alive: timeout=15
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Run Code Online (Sandbox Code Playgroud)

注意这一行:

Content-Encoding: gzip
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?

gzip mod-deflate apache-2.2

1
推荐指数
1
解决办法
600
查看次数