Hrm, interesante. No puedo reproducir esto:
[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
(encabezados no relacionados eliminados)
Como se mencionó anteriormente, FilesMatch
coincide con las rutas del sistema de archivos , no con los URI. ¿Son los recursos que no se están comprimiendo archivos en el sistema de archivos o se generan sobre la marcha, o se representan o se redirigen o algo más que interrumpe la asignación directa de URI a sistema de archivos? En su lugar, podría intentar usar LocationMatch , que probablemente sea una mejor apuesta de todos modos si alguna parte de su aplicación no son archivos estáticos.
<IfModule mod_deflate.c>
<LocationMatch "\.(css|js|x?html?|php)$">
SetOutputFilter DEFLATE
</LocationMatch>
</IfModule>