Search code examples
.htaccesshttp-redirecthttpsno-www

Redirect non-www(http) and www(http) to https://www


I am trying to do a redirect from non-www(http) and www(http) to https://www but it does not work. Need the following to work. Please help

  1. http://example.com redirect to https://www.example.com
  2. http://www.example.com redirect to https://www.example.com

Current htaccess file

rewritecond %{http_host} ^example.com [nc]

rewriterule ^(.*)$ https://www.example.com/$1 [r=301,nc]

Tried below rule

RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

Solution

  • You can use this :

    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} ^example\.com$ [NC,OR]
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(example\.com)$ [NC]
    RewriteRule ^.*$ https://www.example.com%{REQUEST_URI} [NE,L,R=301]