У меня в аналогичной ситуации для сайта на Apache2 настроено примерно так:
Код:
<VirtualHost www.сайт.lv:80>
ServerName www.сайт.lv
#Permanently redirect to HTTPS
Redirect permanent / https://www.сайт.lv/
ErrorLog /var/log/apache2/сайт-error_log
CustomLog /var/log/apache2/сайт-access_log combined
</VirtualHost>
<IfDefine SSL>
<IfDefine !NOSSL>
##
## SSL Virtual Host Context
##
<VirtualHost www.сайт.lv:443>
# General setup for the virtual host
DocumentRoot "/srv/www/htdocs/сайт"
ServerName www.сайт.lv:443
ErrorLog /var/log/apache2/сайт-ssl-error_log
#TransferLog /var/log/apache2/сайт-ssl-access_log
CustomLog /var/log/apache2/сайт-ssl-access_log combined
[... остальные настройки для сайта по HTTPS ...]
</VirtualHost>
</IfDefine>
</IfDefine>
Результат: при обращении к любому месту сайта по HTTP он тут же перенаправляет браузер лезть туда же, но по HTTPS. Прозрачно для пользователя.