2012-07-29 3 views
0

에 기반 디렉토리로 리디렉션 I에 유래 여기에 몇 가지 흥미로운 생각을 찾았지만 아무도 나를 위해 충분히 명확하게 언급되지 않은, 그래서 그것을 심지어아파치 (htaccess로) 사용자가 선택한 도메인

: 할 수 있다면 자신에게 물어

상황 :

나는 아파치 HTTP의 설치 서버와 다른 내용 www 디렉토리에 폴더 사이트의 무리와 함께 리눅스가 있습니다.

의가 있다고 가정 해 봅시다 :

www/Site1 (Phpbb) 
www/Site2 (Wordpress) 
www/Site3 (Own web pages) 

내가 Site3에 사용하기위한 하나 개의 도메인을 소유 (의이 site3.com, www.site3.com를 부르 자). no-ip.org에서 두 개의 도메인을 추가로 만들었습니다 (site1.sytes.net 및 site2.sytes.net이라고 함). 세 개의 도메인이 모두 linux (apache) 서버 ip 주소의 포트 80을 가리 킵니다. 이제 질문

www.site3.com 
site1.sytes.net 
site2.sytes.net 

:

가 해당 도메인의 콘텐츠를 원하는 사용자를위한 특정 디렉토리에 대한 리디렉션을 만드는 방법을

그래서 우리는 이러한 준비 도메인을 가지고있다. "site1.sytes.net"(브라우저에 작성)을 Site1 디렉토리로 지정하고 브라우저 주소를 다시 작성하여 해당 디렉토리를 생략하고 "http://site1.sytes.net"을 입력하려는 사용자를 원합니다. .

User want: site1.sytes.net [/index.html] 
Server goes to: www/Site1 [/index.html] 
User see in browser: http://site1.sytes.net [/index.html] 

등등 : 예를 들어

site2.sytes.net [/index.html] => www/Site2 [/index.html] 
www.site3.com [/index.html] => www/Site3 [/index.html] 

나는하지 착각 HTTP_HOST 그냥 도메인을 반환 오전, 그래서 브라우저에 쓴 사용자가 알아 내려고 쓸모 경우 site1.sytes.net 및 site2.sytes.net (sytes.net 만 반환하기 때문에).

+0

http://www.faqforge.com/linux/redirect-a-subdomain-with-apache-mod_rewrite-url-in-the-address-bar/no -ip.org가 요청을 서버에 가장 최근에 캐시 된 IP 주소. –

답변

0

%{HTTP_HOST} 당신이 원하는 참, 그리고 네, 그것은 단지 도메인과 일치. 그러나 조건에서 사용하고 %{REQUEST_URI} 또는 규칙 자체를 사용하여 URI와 일치시킵니다. 이것을 문서 루트에있는 htaccess 파일에 넣으십시오 (그렇지 않으면 모든 사이트에 대해 동일하다고 가정합니다. 그렇지 않으면 아무 작업도 수행 할 필요가 없습니다).

RewriteEngine On 
RewriteCond %{HTTP_HOST} site1.sytes.net [NC] 
RewriteCond %{REQUEST_URI} !^/Site1 
RewriteRule ^(.*)$ /Site1/$1 [L] 

RewriteCond %{HTTP_HOST} site2.sytes.net [NC] 
RewriteCond %{REQUEST_URI} !^/Site2 
RewriteRule ^(.*)$ /Site2/$1 [L] 

RewriteCond %{HTTP_HOST} www.site3.com [NC] 
RewriteCond %{REQUEST_URI} !^/Site3 
RewriteRule ^(.*)$ /Site3/$1 [L] 
관련 문제