Jimie-Dean Garrett
Jimie-Dean Garrett

Reputation: 33

htaccess redirect all domains to one domain, except one

There are severals (a lot) domains that need to be redirected to one main domain. Right now it's done with this code:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.maindomain.com$ [NC]
RewriteRule ^(.*)$ http://www.maindomain.com/$1 [L,R=301]

But now the webspace needs to listen to a second Domain. So this second domain (and all subdomains) need to be exclude from the rule above.

some more examples:

www.maindomain.com        => no redirect
maindomain.com            => www.maindomain.com
*.maindomain.com          => www.maindomain.com
domain.com                => www.maindomain.com
www.domain.com            => www.maindomain.com
domain-something.com      => www.maindomain.com
www.domain-something.com  => www.maindomain.com

www.second-maindomain.com => no redirect
second-maindomain.com     => www.second-maindomain.com
*.second-maindomain.com   => www.second-maindomain.com

Upvotes: 1

Views: 523

Answers (1)

Dusan Bajic
Dusan Bajic

Reputation: 10899

This should do:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !www.maindomain.com$ [NC]
RewriteCond %{HTTP_HOST} !second-maindomain.com$ [NC]
RewriteRule ^(.*)$ http://www.maindomain.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} !maindomain.com$ [NC]
RewriteCond %{HTTP_HOST} !www.second-maindomain.com$ [NC]
RewriteRule ^(.*)$ http://www.second-maindomain.com/$1 [L,R=301]

Upvotes: 2

Related Questions