Feralheart
Feralheart

Reputation: 1920

Naked domain automaticly redirects but www not

I want to redirect my traffic to HTTPS

Coming from myawesomesite.com it redirects to https://myawesomesite.com, and coming from http(s)://www.myawesomesite.com it goes to HTTP or HTTPS based on the call.

What's wrong? My virtualhost file is:

<VirtualHost *:80>
        DocumentRoot /var/www/myawesomesite/public
    ServerName myawesomesite.com
    ServerAlias www.myawesomesite.com
        <Directory "/var/www/myawesomesite/public/">
                AllowOverride All
                Options FollowSymLinks
        </Directory>
    ErrorLog /var/log/apache2/myawesomesite-error_log
    RewriteEngine On
    RewriteCond %{SERVER_NAME} ="myawesomesite.com" [OR]
    RewriteCond %{SERVER_NAME} ="www.myawesomesite.com"
    RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI}
</VirtualHost>

Upvotes: 0

Views: 21

Answers (1)

Mecanik
Mecanik

Reputation: 1049

This is the correct way to force SSL via Rewrite functions:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

Of course, remove your current code. Enjoy!

Update:

You can also do this which is better:

<virtualhost *:80="">
ServerName www.example.com
Redirect / https://www.example.com/
</virtualhost>

Upvotes: 1

Related Questions