Tente isto:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Eu suspeito que o! = é necessário.
Além disso, garanta que você tenha permitido o .htaccess com:
AllowOverride all
em httpd.conf
Como alternativa, você também pode tentar este rewriterule que não usa http_host:
RewriteRule ^(.*) https://your_server.com/$1