Вместо того, чтобы использовать перманент Redirect для достижения https, вы должны использовать правило перезаписи. Замените ваш код следующим:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/ [R,L]
</VirtualHost>
<VirtualHost _default_:443>
ServerName example.com
DocumentRoot /var/www
SSLEngine On
# etc...
</VirtualHost>
Здесь мы используем правило перезаписи для активации SSL вашего веб-сайта.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/ [R,L]
И убедитесь, что у вас включен модуль перезаписи apache. Чтобы включить modrewrite, перейдите в каталог модуля apache2 cd /etc/apache2/mods-available
, выполните следующую команду a2enmod rewrite.load
и перезапустите apache2 service apache2 restart