2009-08-24 6 views
2

하나 이상의 도메인에 대해 RewriteRule을 구성 할 수 있습니까? 내 요구처럼하위 도메인에서 도메인으로 리디렉션 + .htaccess

내 현재 도메인 이름 www.maindomain.com 과 내가 domian 세 및 하위 도메인 하위 도메인 URL이 example1.maindomain.com example2.maindomain.com example3.maindomain이다가 있다고 가정 해 보자 입니다. 지금까지 사용자가이 example1.maindomain.com의 내용과 예 2에 대해 동일한을 받아야 www.example1.com에 액세스하려고 할 때

닷컴

지금 내가 원하는, 내가 아파치 + 여객를 사용하고

을 예 3.

도움 주셔서 감사합니다.

답변

9

먼저 리디렉션 할 모든 도메인 이름과 일치하는 조건을 작성하십시오. 도메인의 일치하는 부분을 사용하여 대상 하위 도메인 URL을 다시 작성하는 규칙을 작성하십시오. 예를 들어,에서

RewriteCond %{HTTP_HOST} ^www\.(example[123])\.com$ [NC] 
RewriteRule ^(.*) http://%1.maindomain.com/$1 [L,R] 

위의 재 작성 : 그래서, 당신의 질문에 명시된 원하는 매핑 주어, 다음과 같은 트릭을 할해야 www.example1.com ~ example1.maindomain.com. 마찬가지로, 다른 방향으로 원한다면 :

RewriteCond %{HTTP_HOST} ^(example[123])\.maindomain\.com$ [NC] 
RewriteRule ^(.*) http://www.%1.com/$1 [L,R] 

이렇게하면 다시 쓸 것입니다. example2.maindomain.com ~ www.example2.com.

+0

와일드 카드를 사용하여이 작업을 수행 할 수 있습니까? 같은 : RewriteCond % {HTTP_HOST}^(*) \. maindomain \ .com $ [NC] RewriteRule^(. *) http://www.maindomain.com/$1 [L, R] – tvgemert

+1

위 사실은 이미 "와일드 카드"가 포함되어 있습니다 : ['RewriteCond'] (http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#RewriteCond)의 호스트 이름 패턴은'www.example1 .com','www.example2.com','www.example3.com' 등이있다. 물론 다른 정규 표현식을 사용할 수도 있습니다. 모든 하위 도메인과 일치시키기 위해'\ .maindomain \ .com $'이 (또는, 대신에'^. * \. maindomain \ .com $')해야합니다. – earl

+0

감사합니다. 내가 찾은 바는 다음과 같습니다. RewriteEngine On RewriteCond % {HTTP_HOST}^(. +) \. domain \ .nl $ [NC] RewriteRule^http://domain.nl/?subdomain=%1 [L ,아르 자형] – tvgemert

관련 문제