Forçar SSL com .htaccess e mod_rewrite

Se você já estiver usando mod_rewrite e quiser forçar todo o tráfego para passar por SSL, você pode adicionar a seguinte regra em seu arquivo htaccess

<IfModule mod_rewrite.c>
RewriteEngine On

<IfModule mod_ssl.c>
RewriteCond %{HTTPS} !=on

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

</IfModule>
# Your own rewrite rules here

</IfModule>

Ao colocar a regra na <IfModule mod_ssl.c>tag, posso desabilitar o mod_ssl no meu servidor local e usar http enquanto forço o SSL no meu servidor ativo que possui um certificado SSL