Hum, interessante. Não consigo reproduzir isso:
[root@dev ~]# cat /etc/httpd/conf.d/test.conf
<FilesMatch "\.txt$">
SetOutputFilter DEFLATE
Header set X-Ping "Pong"
</FilesMatch>
[root@dev ~]# GET -SedH 'Accept-Encoding: gzip, deflate' 'http://localhost/test.txt'
GET http://localhost/test.txt --> 200 OK
Content-Encoding: gzip
Content-Length: 2449
X-Ping: Pong
[root@dev ~]# GET -SedH 'Accept-Encoding: gzip, deflate' 'http://localhost/test.txt?foo'
GET http://localhost/test.txt?foo --> 200 OK
Content-Encoding: gzip
Content-Length: 2449
X-Ping: Pong
(cabeçalhos não relacionados removidos)
Como mencionado acima, FilesMatch
corresponde aos caminhos do sistema de arquivos , não aos URIs. Os recursos que não estão sendo arquivos compactados no sistema de arquivos ou são gerados dinamicamente, ou com proxy ou redirecionados ou algo mais que interrompe o mapeamento direto de URI para sistema de arquivos? Você pode tentar usar o LocationMatch , o que provavelmente é uma aposta melhor de qualquer maneira, se alguma parte do seu aplicativo não for arquivos estáticos.
<IfModule mod_deflate.c>
<LocationMatch "\.(css|js|x?html?|php)$">
SetOutputFilter DEFLATE
</LocationMatch>
</IfModule>