Я пытаюсь настроить свой сервер для автоматической вставки кода отслеживания (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.