2011-05-16 2 views
0

내 URL을 다시 써서에 의해 볼 수있는 폴더에 연결할 수 있습니다. 클라이언트를 하위 도메인으로some-sub-domain.some-domain.com에서 some-domain.com/some-sub-domain으로 URL을 다시 작성하는 방법

abc.def.com 

및 URL하여 조용히

def.com/abc 

에 사라질 것입니다 재 작성 : 클라이언트는 URL 표시 줄에 다음을 넣어 것입니다. 내가 어떻게 할 수 있는지 말해줘? 이미 하위 도메인을 알고있는 경우

답변

1

해야한다. 희망이 당신을 위해 도움이됩니다.

0

, 당신은 할 수 있습니다 : 당신은 가능한 모든 하위 도메인 사용을 지원하고자하는 경우

RewriteCond %{REMOTE_HOST} ^(?:www\.)?subdomain\.your_domain\.com [NC] 
RewriteRule ^(.*) /subdomain/$1 [L] 

을 그리고 :

RewriteCond %{REMOTE_HOST} ^(?:www\.)?([^\.]+)\.your_domain\.com [NC] 
RewriteRule ^(.*) /%1/$1 [L] 
+0

미안하지만, 나를 위해 일하지 않습니다. 하위 도메인을 사용할 때 귀하의 정보를 위해 그것은 아무데도 없습니다. 브라우저가 서버를 찾을 수 없다고 말합니다. – Tareq

+0

그런 다음 DNS에 하위 도메인을 추가해야합니다. 위의 예에서는 하위 도메인에 도달 할 수 있다고 가정하고 mod_rewrite를 실행하는 웹 서버를 가리 킵니다. –

+0

내 웹 서버에서 mod_rewrite를 사용할 수 있습니다. 와일드 카드 (*) 하위 도메인을 사용하는 경우 아직 결과가 없습니다. 어떻게해야합니까? – Tareq

2

당신은 %{HTTP_HOST} 대신 %{REMOTE_HOST} 사용해야합니다. 이는 이 HostnameLookups이 사용되는 경우 %{REMOTE_ADDR}에서 역 DNS 검색의 결과이기 때문입니다.

그래서 규칙 당신은 RewriteRule의에서 $를 사용한다이 아니라에게

RewriteCond %{HTTP_HOST} ^(?:www\.)?([^\.]+)\.your_domain\.com [NC] 
RewriteRule ^(.*)$ /%1/$1 [L] 

를 작동하도록한다 RewriteRule에 거의 변화가

RewriteCond %{HTTP_HOST} ^(?:www\.)?([^\.]+)\.your_domain\.com [NC] 
RewriteRule ^(.*) /%1/$1 [L] 
관련 문제