2017-11-30 5 views
0

1つのメインドメインにリダイレクトする必要のあるドメインが多数存在します。 は、今のところは、このコードで行われます:htaccess 1つを除くすべてのドメインを1つのドメインにリダイレクト

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

しかし、今のウェブスペースは、第二のドメインに耳を傾ける必要があります。したがって、この第2ドメイン(およびすべてのサブドメイン)は上記のルールから除外する必要があります。

いくつかのより多くの例:これが何をすべき

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 

答えて

0

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] 
+0

ほとんど。しかし、second-maindomain.comのすべてのサブドメインは200のステータスコードを返します。 –

+0

あなたの答えはいくつかの変更でうまくいった。 最後の行でタイプミスを削除しました。 そして私はwwwを追加しました。 3番目のCondに –

+0

私は入力ミスを修正しました。 wwwのように違いはないはずです(リクエストホストがxxx.maindomain.comの場合、それは決してその場所に届かないはずです)。これはregexですので、maindomain.comもwww.maindomain.comのケースをカバーしています。 –

関連する問題