Para solucionar esses problemas, é uma boa ideia comparar os cabeçalhos no navegador com os que estão em curl ( -i
, --include
flag mostrará cabeçalhos e -H
flag podem adicioná-los) e de o navegador adiciona um de cada vez para enrolar o comando até que o problema seja reproduzido.
Eu li na seção de comentários da página de documentos mod_substitute que descreve sintomas como os que você descrito, com mod_substitute
às vezes não funcionando como esperado:
It turned out it was the order of our filter chain. DEFLATE was running before SUBSTITUTE. For small files, DEFLATE was not doing anything, so it worked. On some internal proxy stuff that did not send an Accept-Encoding header it was working. But, other times it did not. In the end, this worked best:
AddOutputFilterByType INFLATE;SUBSTITUTE;DEFLATE text/html text/plain text/xml
Outra opção é desabilitar o cabeçalho Accept-Encoding para o recurso de destino no qual mod_substitute
deve fazer suas substituições.
RequestHeader unset Accept-Encoding
É (sem dúvida) melhor usar o outro truque, para que você possa colher os benefícios de mod_deflate
e mod_substitute
.