2011-01-26 1 views
3

보조 도메인을 내 문서 루트의 하위 폴더에 매핑하려고합니다. 내 DocumentToot에 도메인 www.example.com지도에 대한 요청은 다음 www.exampletwo.com에 요청하면mod_rewrite를 사용하여 보조 도메인을 서브 디렉토리에 매핑

예를 들어, /sites/files/로 이동합니다.

URL을 www.exampletwo.com/index.html으로 표시하면서 www.exampletwo.com/index.html에서 www.exampletwo.com/sites/files/index.html으로 리디렉션 할 수 없습니다. 어떤 아이디어?

답변

5

난 당신이 뭔가를 찾고 생각 :

RewriteCond %{HTTP_HOST} ^(www\.)?exampletwo\.com [NC] 
RewriteRule ^/(.*) /sites/files/$1 [L] 
+0

흠, 아직 주사위가 없습니다. 위에서 시도한 후 exampletwo.com/을 방문하여 테스트했지만 인덱스 페이지가 /sites/files/index.html에 있기 때문에 404NotFound를 얻었습니다. 다시 쓰지 않습니다. – WilHall

+0

아, www가 선택 사항이었습니다. 업데이트 된 정규 표현식도이를 잡아야합니다. –

+0

다시 쓰기 엔진이 켜져 있는지 확인하십시오. 그렇지 않으면 지시문이 무시됩니다. 'RewriteEngine on' [RewriteEngine 지시문] (http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteengine) – cherdt

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

RewriteCond %{HTTP_HOST} ^(www\.)?exampletwo\.com [NC] 
RewriteRule ^/(.*)   http://www.exampletwo.com/sites/files/$1 [L,P] 

P 플래그는 프록시 모듈을 사용하므로 URL이 클라이언트에서 변경되지 않습니다 (리디렉션 없음).

+0

감사합니다,하지만 내가 예상대로 작동하지 않는 것 같습니다. 누군가가 example.com/을 방문하면 명확하게하기 위해 exampletwo.com/sites/files/로 리디렉션하지만 mod_rewrite는 exampletwo.com/을 표시하기 위해 URL을 다시 작성합니다. – WilHall

+0

변경됨. 먼저 예제를 exampletwo로 리디렉션해야합니다. 그런 다음/사이트/파일을 마스크해야합니다. – Spliffster