Você pode definir um ErrorDocument personalizado para a resposta 301, na qual você pode definir uma resposta vazia. (Embora a especificação de um "documento de erro" personalizado para um não-erro, ou seja, para algo diferente de um status 4xx ou 5xx, não seja explicitamente documentada.)
Por exemplo:
ErrorDocument 301 /errordocs/empty.html
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Em que /errordocs/empty.html
é literalmente um documento vazio.
Como alternativa, você pode definir o ErrorDocument
para uma string simples . Mas você não pode definir uma string inteiramente vazia, pois o Apache não vê o segundo argumento e aborta com um erro: "ErrorDocument leva dois argumentos". No entanto, você pode reduzir isso para um único caractere. Por exemplo, para enviar apenas um hífen ( -
) no corpo da resposta:
ErrorDocument 301 "-"
Isso, no entanto, define o corpo da resposta para as respostas do all Apache 301. (No entanto, se estiver no contêiner VirtualHost para a porta 80 na configuração do servidor, isso será restrito aos redirecionamentos somente HTTP de qualquer maneira).
Referência: Esta resposta a uma pergunta do StackOverflow entra em mais detalhes sobre retornando uma resposta vazia do Apache .
No entanto, como @MichaelHampton apontou nos comentários, se você deveria enviar um corpo de resposta vazio no caso de um redirecionamento é outro assunto.
It is in the server config (.conf file)
Como: Se estiver na configuração do servidor, você deve usar um mod_alias Redirect
simples no contêiner VirtualHost não-HTTPS (porta 80), em vez de mod_rewrite. Usando mod_rewrite neste contexto, para verificar explicitamente a variável de servidor HTTPS
, é desnecessário. Isso não faz diferença para o documento de erro retornado.