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.com
   Redirect permanent / https://www.example.com/
</VirtualHost>

NameVirtualHost *:443
<VirtualHost *:443>
   ServerName www.example.com
   DocumentRoot /path/to/htdocs/
   SSLEngine On
   ...etc...
</VirtualHost>

On Fri, Mar 2, 2012 at 3:59 PM, Vivek Nambiar <vivek1namb...@gmail.com>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 browser
>
> http://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 file
>
> RewriteCond %{SERVER_PORT} PORT
> RewriteRule ^/(.*)$ 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

Reply via email to