Regelmäßig stehe ich vor dem Problem, HTTP-Anfragen auf SSL HTTPS umzuleiten. Die einfachste Lösung ist der Einzeiler Redirect permanent / https://www.example.com. Wem dies genügt und wer ohne mod_rewrite auskommt, der kann hier mit dem Lesen aufhören.
Für meine Anwendungsfälle, habe ich hier eine minimalistische Apache V-Host Config hingepackt:
<Virtualhost *:80>
ServerName example.com
ServerAlias *.example.com
DocumentRoot /var/www/html
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
</Virtualhost>
Die drei Zeilen mit „Rewrite“ würden auch problemlos in eine .htaccess-Datei im DocRoot passen. Da besteht allerdings die Gefahr, dass der Webentwickler hier die Hände im Spiel hat und es ist (wenn auch nur minimal bei kleinen Webs oder wenigen V-Hosts) performanter.