Apache не рекомендует использовать это в .htaccess, вы можете прочитать об этом здесь .
Вы должны использовать это вместо:
<VirtualHost *:80>
ServerName www.example.com
Redirect / https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
# ... SSL configuration goes here
</VirtualHost>
В случае, если вы все равно хотите использовать .htaccess, вам нужно использовать следующее переписывание:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}