Redirecting your domain to a new URL on Apache using .htaccess (including SSL/TLS (HTTPS))

Redirecting to a new URL (domain and/or path)

Make sure you’ve got mod_rewrite on and your rewrite base is propertly set:

RewriteEngine On
RewriteBase /

Redirecting a domain

Describe all the domains that you want redirected. In this case we want to redirect both alpha-domain.com and its subdomain www.alpha-domain.com:

RewriteCond %{HTTP_HOST} ^alpha-domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.alpha-domain.com$

And point those requests that match the condition to the new domain by using:

RewriteRule (.*)$ https://beta-domain.com/$1 [R=301,L]

As a summary, this is what we should have in the .htaccess file:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^alpha-domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.alpha-domain.com$
RewriteRule (.*)$ https://beta-domain.com/$1 [R=301,L]

Redirecting to secure connection (TLS/SSL (aka HTTPS))

Below is all there’s needed. If you want to ensure the user is always redirected to TLS in addition to a new domain, just omit the first two lines if you already have them in the .htaccess file:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS}  !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 

NB: This one is domain-agnostic, so in the case of redirecting to a new domain, make sure you have redirected the user to the new domain, before sending him on the secure connection.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван.