Apache mod_filter + PHP(mod_php)

Apache mod_filter + PHP(mod_php)

我正在尝试配置我的服务器以自动将跟踪代码 (Piwik) 插入到所有提供的页面。我同时使用静态网站和一些 PHP 网站。我使用了在 Piwik 论坛上找到的以下方法,该方法基于 mod_filter 和替换。

AddOutputFilterByType SUBSTITUTE text/html application/x-httpd-php
Substitute "s~</body>~...PIWIK CODE...</body>~ni"

但是,它只适用于纯 HTML 页面。我尝试过各种 PHP MIME,如 text/php 或 application/x-httpd-php5,但都无济于事。PHP 页面从未被过滤器修改,而 HTML 页面则没有问题。

我开始认为 mod_php 可能以某种方式绕过了 mod_filter 替换?

答案1

问题是启用了 gzip。出于某种奇怪的原因,它只适用于通过 mod_php 处理的站点,而不适用于直接提供服务的站点。我通过关闭 gzip 解决了这个问题:

SetEnv no-gzip 1
AddOutputFilterByType SUBSTITUTE text/html application/x-httpd-php
Substitute "s~</body>~...PIWIK CODE...</body>~ni"

它作为一种解决方法,但是 gzip 很有用,所以我希望看到另一种不关闭 gzip 的解决方案。

相关内容