"Использование mod_rewrite сделать это не рекомендуется поведение. See RedirectSSL"
Необходимо использовать виртуальный хост вместо этого ... вы можете попробовать следующее:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent/https://secure.example.com/
</VirtualHost>
<VirtualHost _default_:443>
ServerName secure.example.com
DocumentRoot /usr/local/apache2/htdocs
SSLEngine On
# etc...
</VirtualHost>
С mod_rewrite будет должно быть так:
RewriteEngine On
# This will enable the Rewrite capabilities
RewriteCond %{HTTPS} !=on
# This checks to make sure the connection is not already HTTPS
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
# This rule will redirect users from their original location, to the same location but using HTTPS.
# i.e. http://www.example.com/foo/ to https://www.example.com/foo/
# The leading slash is made optional so that this will work either in httpd.conf
# or .htaccess context