O problema aqui é que a diretiva ServerName
está ausente nas tags <VirtualHost>
. Isso é necessário para identificar o host virtual.
Além disso, para este caso, é uma boa ideia usar a diretiva Redirect
com a opção permanent
- leia a seção "Métodos de redirecionamento" em este artigo .
ServerName example.com # This directive provides a global server name.
# But you should set ServerName also for each virtual host
# to identify it!!!
<VirtualHost *:80>
ServerName example.com
# Redirect Requests to HTTPS
Redirect permanent "/" "https://example.com/"
# Other configuration directives...
</VirtualHost>
<VirtualHost _default_:443>
ServerName example.com
# Other configuration directives...
</VirtualHost>
Aplique a mudança de configuração e reinicie (ou recarregue) o Apache. Em seguida, libere o cache do navegador ou use uma janela anônima (ou outro navegador) para ver a alteração.
Para essa tarefa, você pode usar também as regras de reconfiguração, conforme ilustrado em esta pergunta , mas, dentro da documentação do Apaches, será aconselhado a não usar o mecanismo de reescrita quando você puder usar diretivas mais simples.
Referências: