Not redirecting properly the https when changing domain

196 Views Asked by At

I have two domains loaded in my Plesk websites and domains section, the two domains are without www, so let´s say the two domains are:

example.com
example.es

When I redirect from example.es to example.com it is done but with http, not with https.

So, I decided to edit my .htaccess file with the follwing instructions:

RewriteEngine On    
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

But my page is not loaded properly, because seeing the web inspector it creates an infinite loop of requests to my main page example.com.

Anyone knows some kind of solutions?

1

There are 1 best solutions below

1
MrWhite On BEST ANSWER

And I have Application Load Balancer for the ssl certificate that is inside my EC2 AWS machines.

Try the following instead:

RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

The connection between the load balancer and your application server is likely HTTP only, so the HTTPS Apache server variable is always off.

(Test first with a 302 - temporary - redirect to avoid potential caching issues.)

Although if you are redirecting everything (ie. example.es) to example.com then do something like the following instead:

RewriteCond %{HTTP_HOST} !=example.com [NC,OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L]

Assuming both domains point to the same document root then you don't need your redirect in Plesk, which will otherwise result in 2 redirects by the sound of it.