Em um VirtualHost chamado:
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
SSLEngine On
###other directives below
</VirtualHost>
Isso sempre fará com que os usuários redirecionem o link para o link .
Se você quiser que os usuários tenham uma opção para usar HTTP ou HTTPS, tenha as duas configurações disponíveis. Não redirecione.
<VirtualHost *:80>
ServerName example.com
###other directives below
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
SSLEngine On
###other directives below
</VirtualHost>
Para uma configuração baseada em IP, a configuração acima ainda funcionaria se você estivesse executando apenas um site na porta 80 e um em 443.
<VirtualHost 192.168.1.100:80>
###other directives below
</VirtualHost>
<VirtualHost 192.168.1.100:443>
SSLEngine On
###other directives below
</VirtualHost>