Назад | Перейти на главную страницу

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-страниц. Я пробовал различные MIME для PHP, например text / php или application / x-httpd-php5, но безрезультатно. Страница PHP никогда не изменяется фильтром, а с HTML-страницей проблем нет.

Я начинаю думать, что, возможно, mod_php каким-то образом обходит замену mod_filter?

Проблема заключалась в том, что был включен 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.