2011-12-19 6 views
0

모든 (와일드 카드) 하위 도메인과 함께 사용할 수있는 간단한 페이지를 만들고 싶습니다..htaccess의 와일드 카드 하위 도메인

예를 들어, hello.domain2.com을 방문하면 페이지에 하위 도메인 "hello"의 이름이 표시됩니다. 또한 URL은 "hello.domain2.com"에 머물러 있어야합니다. 이것은 너무 어려워서는 안되지만 내 호스트가 1 개의 루트에 여러 도메인을 가지고 있으므로 .htaccess 파일을 수정해야합니다. 내 domain2.com에 대한 하위 도메인을 허용하도록 서버를 구성했지만, 내 호스트가 모든 리디렉션 지금까지

RewriteEngine on  

RewriteCond %{HTTP_HOST} ^www.domain1.com$ 
RewriteCond %{REQUEST_URI} !^/domain1.com/ 
RewriteRule (.*)   /domain1.com/$1 [last] 
RewriteCond %{HTTP_HOST} ^domain1.com$ 
RewriteCond %{REQUEST_URI} !^/domain1.com/ 
RewriteRule (.*)   /domain1.com/$1 [last] 

RewriteCond %{HTTP_HOST} ^www.domain2.com$ 
RewriteCond %{REQUEST_URI} !^/domain2.com/ 
RewriteRule (.*)   /domain2.com/$1 [last] 
RewriteCond %{HTTP_HOST} ^domain2.com$ 
RewriteCond %{REQUEST_URI} !^/domain2.com/ 
RewriteRule (.*)   /domain2.com/$1 [last] 

RewriteCond %{HTTP_HOST} ^www.domain3.com$ 
RewriteCond %{REQUEST_URI} !^/domain3.com/ 
RewriteRule (.*)   /domain3.com/$1 [last] 
RewriteCond %{HTTP_HOST} ^domain3.com$ 
RewriteCond %{REQUEST_URI} !^/domain3.com/ 
RewriteRule (.*)   /domain3.com/$1 [last] 

: 나는 htaccess로 체크 아웃 할 때

는 호스트를 automaticly 다음과 같은 규칙을 만들었습니다 하위 도메인은 내 루트 폴더에 있습니다.

어떻게하면 와일드 카드 하위 도메인을 /domain2.com으로 이동할 수 있습니까?

답변

0

는 당신의 도메인 2 규칙 블록을 교환 할 수 있습니다 :

RewriteCond %{HTTP_HOST} ^([\w-]+).domain2.com$ 
RewriteCond %{REQUEST_URI} !^/domain2.com/ 
RewriteRule ^(.*)$   /domain2.com/$1?subdomain=%1 [LAST,QSA] 

([\w-]+) 서버 이름에 대한 와일드 카드이며, %1는 이후의 RewriteRules의 자리로 사용할 수 있습니다. (두 번째 RewriteCond는 어설 션으로 바뀔 수도 있습니다 ..)

관련 문제