The cleanest way of doing this, doesn't even need mod_rewrite. Just define two virtualhosts, one for the non-ssl host and one for the ssl host:NameVirtualHost *:80<VirtualHost *:80>ServerName www.example.comRedirect permanent / https://www.example.com/</VirtualHost>NameVirtualHost *:443<VirtualHost *:443>ServerName www.example.comDocumentRoot /path/to/htdocs/SSLEngine On...etc...</VirtualHost>--On Fri, Mar 2, 2012 at 3:59 PM, Vivek Nambiar <vivek1nambiar@xxxxxxxxx> wrote:
Hi Experts,I have a quick question regarding rewrite rule.My aim is to redirect users http URL to https URL.Like suppose the user enters the URL as follows in the web browserhttp://servername:port/myapp then it should redirect itself to https://servername:SSLport/myapp.I have added the following rewrite condition and rule in my httpd.conf fileRewriteCond %{SERVER_PORT} PORTRewriteRule ^/(.*)$ https://%{SERVER_NAME}:SSLPORT/$1 [R,L].The rewrite rule works only if I use the url as http://servername:port/myapp/ (i have to add a "/" infront of my application)if I use http://servername:port/myapp then the rewrite is done only for the port,that is it changes to http://servername:sslport/myapp (http does not change to https).Thanks in advance for your help.
Gr,
Mathijs