Over the last year I found myself migrating several websites to new domains. Therefore, I have decided to write a post about the 5 useful htaccess tricks for website migration. Htaccess redirects are important because you don’t want Google to find a bunch of 404 error pages when you shut down your old domain.
Firstly, I will put it like this
[alert type=white ]
“404 error pages = SEO disaster.”
👆
[/alert]
5 useful htaccess tricks for website migration
1# Force domain to use WWW
RewriteEngine on RewriteCond %{HTTP_HOST} ^domain.com [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301,NC]
Or Force domain to use NON-WWW
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.domain.com [NC] RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301,NC]
2# Force domain to use secure protocol of HTTPS
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://domain.com/$1 [R=301,L]
or force specific folder to use of HTPPS (like store front page)
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} folder RewriteRule ^(.*)$ https://domain.com/folder/$1 [R,L]
3# Redirect Root Domain To New Domain Root
RewriteEngine On RewriteRule ^$ http://newdomain.com/ [R=301,L]
4# Exclude Certain Pages From Redirect 3 (above)
RewriteEngine On RewriteCond %{REQUEST_URI} !^$ RewriteCond %{REQUEST_URI} !^/page1.html$ RewriteCond %{REQUEST_URI} !^/folder/subpage1.html$ RewriteRule .* http://new-domain.com/page/ [R=301,L]
5# Redirect All Pages To Their Same URL On New Domain
RewriteEngine on RewriteCond %{HTTP_HOST} ^old-domain.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.old-domain.com [NC] RewriteRule ^(.*)$ http://new-domain.com/$1 [L,R=301,NC
Extra tip to redirect with or without Trailing Slash
RewriteCond %{HTTP_HOST} ^domain.com$ [NC] RewriteRule ^page-to-redirect/?$ http://new-domain.com/page-redirect/ [NC,R=301,L]