Sua pergunta já tem a resposta: ISTO faz o que você está tentando alcançar:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent "/" "https://example.com/"
</VirtualHost>
No entanto, ServerName
https://example.com
está errado: você não deve incluir o protocolo aqui, nem no seu ServerAlias
. É <VirtualHost *:443>
an que torna isso um host virtual HTTPS. Se você já teve https://example.com
para trabalhar com essa configuração, provavelmente é porque você também tem ServerAlias example.com
mais tarde na configuração, mas você não deve especificar essas diretivas duas vezes no mesmo bloco <VirtualHost>
.
Isso me faz pensar se esse arquivo sites-available
config é sempre usuário, por exemplo
- Você o habilitou (usando
a2ensite
ou manualmente criando um link simbólico emsites-enabled
)? - Você reiniciou seu Apache depois dessa modificação?
(BTW. Como http://www.example.com
redireciona para canonical https://example.com/
, pode ser uma boa idéia redirecionar https://www.example.com/
para o mesmo local também.)