2017-11-30 1 views
0

하나의 메인 도메인으로 리디렉션되어야하는 도메인이 많습니다.htaccess 하나만 제외하고 모든 도메인을 하나의 도메인으로 리디렉션

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

을하지만 지금은 웹 공간은 두 번째 도메인을들을 필요가있다 : 은 지금 당장이 코드로 이루어집니다. 따라서이 두 번째 도메인 (및 모든 하위 도메인)은 위의 규칙에서 제외해야합니다.

좀 더 예 : 이것은 어떻게해야

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 인 경우 그 지점에 도달해서는 안됩니다). 이는 정규식이므로 maindomain.com도 www.maindomain.com의 경우를 다루고 있습니다. –

관련 문제