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.

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

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