Tudo bem, desculpe por responder minha própria resposta tão pouco tempo depois de oferecer a recompensa, mas eu finalmente descobri como realizar o que eu quero. Minha última edição da minha pergunta foi perto, mas não perto o suficiente.
Descobri que eu poderia abusar do fato de que mod_rewrite
me permite definir o tipo MIME de um caminho reescrito ( T=
) para aplicar meu filtro (usando mod_ext_filter
) usando a diretiva AddOutputFilterByType
como isso:
RewriteRule ^(.*?\.ext)\.gz$ $1 [L,T=application/my-file-type]
ExtFilterDefine gzip mode=output cmd="/bin/gzip"
<Location "/my-files">
AddOutputFilterByType gzip application/my-file-type
</Location>
Portanto, o arquivo real (por exemplo, somename.ext.gz
) não existe, mas somename.ext
existe e mod_rewrite
tem o cuidado de aplicar o filtro condicionalmente somente quando a solicitação é enviada a extensão .ext.gz
, mas nunca se a solicitação chegar sob o nome (existente).
Tudo que fiz foi inventar meu próprio tipo MIME.
Como 200_success sugerido em seu comentário, ajustei isso mais uma vez para ficar mais legível e confiar em uma variável de ambiente (definida condicionalmente por mod_rewrite
):
RewriteRule ^(.*?\.ext)\.gz$ $1 [L,E=NEEDGZIP:1]
ExtFilterDefine gzip mode=output cmd="/bin/gzip" enableenv=NEEDGZIP
<Location "/my-files">
SetOutputFilter gzip
</Location>