Desempenho e monitorização

Desativar a compressão Gzip e Brotli a partir do .htaccess

Revisto a 3 min de leitura Gzip compressão

Os nossos servidores comprimem automaticamente o HTML, o CSS e o JavaScript com Gzip ou Brotli. Se uma aplicação ou um script não funcionar bem com a resposta comprimida (por exemplo, porque já comprime por si, ou porque envia dados em streaming), pode desativar a compressão a partir do .htaccess. A alteração aplica-se de imediato, sem reiniciar nada.

Desativá-la

Acrescente no início do ficheiro .htaccess:

SetEnv no-gzip 1
SetEnv no-brotli 1

A primeira linha desativa o Gzip e a segunda o Brotli. Coloque as duas: se só desativar o Gzip, os navegadores modernos continuarão a receber Brotli.

Se preferir fazê-lo com regras de reescrita, a alternativa para o Gzip é:

RewriteEngine On
RewriteRule . - [E=no-gzip:1]

SetEnv é a opção recomendada pela LiteSpeed, porque outras regras RewriteRule do ficheiro (as do WordPress, por exemplo) podem impedir que a de reescrita seja aplicada.

Escolher onde a colocar

O .htaccess afeta o seu diretório e todos os que estão abaixo dele:

  • Em public_html/.htaccess, é desativada para o domínio principal e para os domínios adicionais e subdomínios cujas pastas estejam dentro de public_html.
  • Para a limitar a um único site ou a uma pasta (por exemplo, a de uma API), coloque-a no .htaccess dessa pasta.

Verificar que foi desativada

  1. Abra o site numa janela privada, prima F12 e vá ao separador Rede (Network).
  2. Recarregue com Ctrl + F5 (ou Cmd + Shift + R no Mac) para não ver a cópia guardada pelo navegador.
  3. Clique no pedido do documento ou do ficheiro que lhe interessa e veja os cabeçalhos de resposta: já não deve aparecer Content-Encoding: gzip nem Content-Encoding: br.

A partir do terminal também o pode verificar com:

curl -s -o /dev/null -D - -H "Accept-Encoding: gzip, br" https://tudominio.com/ | grep -i content-encoding

Se não devolver nada, a resposta segue sem compressão.

Se continuar a aparecer comprimida, pode dever-se a:

  • Um CDN como o Cloudflare: comprime ele próprio o que entrega ao visitante. Desative-a no CDN ou verifique diretamente contra o servidor.
  • A própria aplicação: se o código PHP usar ob_gzhandler ou zlib.output_compression, essa compressão não é controlada pelo servidor. Retire-a do código ou defina zlib.output_compression = Off na configuração de PHP do site.

Voltar a ativá-la

Apague as linhas que acrescentou e guarde. A compressão volta a funcionar de imediato. Mantê-la ativa reduz muito o tamanho das páginas, por isso desative-a apenas onde precisar.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.