TransWikia.com

How do I redirect a domain but keep the URL structure?

Drupal Answers Asked by Georgina Smith on October 26, 2021

I have example.com and example.co.uk. They both point to the same Drupal installation on my server, so both domains load the exact same site.

I am now trying to redirect the .co.uk to the .com domain. I have tried using the following lines in the .htaccess file, but it always redirects to /index.php.

RewriteCond %{HTTP_HOST} ^example.co.uk
RewriteRule ^(.*) https://example.com/$1 [P] 

The following lines didn’t work either.

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

The site redirects. but it doesn’t keep the URL structure as it should. If I go to example.co.uk, I get redirected to example.com. If I go to example.co.uk/node/1, I get redirect to example.com/index.

How can I set up the correct redirect?

One Answer

Your second variant is close to the goal. But it needs some edits. Firstly, you should escape all dots in RewriteCond, so it will be

RewriteCond %{HTTP_HOST} ^example.co.uk$ [NC]

Secondly you need to edit RewriteRule to change regular expression and append request uri:

RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]

It also matters where you place the code. Your second variant is right. It's best to place code just after RewriteEngine on

Final code will be:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.co.uk$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]

Answered by Eugene Bocharov on October 26, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP