2010-07-13 3 views
0

상황 (디렉토리 트리) :Apache mod_rewrite : addon 도메인 하위 폴더 액세스를 addon 도메인 자체로 리디렉션하는 방법은 무엇입니까? 아파치 서버

http://www.addondomain1.com/index.html 
http://www.addondomain1.com/ 
http://www.addondomain1.com 
http://www.maindomain.com/addondomain1.com/index.html 

나는 모든 요청을 리디렉션 싶습니다 :

maindomain.com/ 
| 
|_ .htaccess (just an empty file, no rule in here) 
| 
|_ addondomain1.com/ 
| | 
| |_ .htaccess 
| |_ index.html 
| 
|_ addondomain2.com/ 
    | 
    |_ .htaccess 
    |_ index.html 

현재 addondomain1.com에로 이동하여 볼 수있는 파일

http://maindomain/addondomain1.com/some/path/anypage.html ('www'포함 또는 없음)

동일 addondomain1.com에서 항상 'WWW'와 있지만, 경로/파일 :

http://www.addondomain1.com/some/path/page.html 

, 내가 maindomain.com/addondomain1.com/.htaccess에이 규칙 배치이 작업을 수행하려고하기 위해서 :

RewriteCond %{HTTP_HOST} !^www\.addondomain1\.com$ 
RewriteRule ^(.*)$ "http://wwww.addondomain1.com/$1" [R=301,L] 
이것은 거의 잘 작동

을,

:에 갈 때 불행하게도

http://addondomain1.com/index.html >> http://www.addondomain1.com/index.html 
http://www.addondomain1.com/ >> http://www.addondomain1.com/ 
http://www.addondomain1.com >> http://www.addondomain1.com 
http://www.maindomain.com/addondomain1.com/index.html >> http://www.addondomain1.com/index.html 
http://www.maindomain.com/addondomain1.com/ >> http://www.addondomain1.com/ 
http://maindomain.com/addondomain1.com/ >> http://www.addondomain1.com/ 

그러나 : 아래 모든 것들을 잘 리디렉션 나는 정규 표현식 ^(.*)$ 최종 슬래시는 "addondomain1.com을"일부로서 없기 때문에 점점 생각

http://www.addondomain1.com//server/root/path/addondomain1.com 

:에 모두 링크가 위의 마지막 슬래시없이입니다

주, 그것은 리디렉션합니다. 이 문제를 해결하는 방법을 알고 계십니까?

감사!

+0

흠 ... 당신은 사람들이'HTTP에 갈 수 하시겠습니까? –

+0

@ 팀 :이 questiom을 살펴 줘서 고마워. 사실, 누군가가 "http://maindomain.com/addondomain1.com/some/path/page.html"에 가려고하면 항상 "http://www.addondomain1.com/"으로 리디렉션됩니다. some/path/page.html "을 참조하십시오. 더 읽기 쉽도록 질문을 업데이트했습니다. –

답변

0
DirectorySlash Off 
+0

하지만 그게 전부입니까?! :) 나는 이것을 시험해보고, 당신에게 알릴 것이다, 고마워! –

+0

아니요, wrok하지 않습니다. 이전에 얻은 것과 정확히 같은 문제가 발생합니다. 어쨌든 답변 주셔서 감사합니다 –

+1

그렇지 않은 경우, RewriteLog를 활성화하고 무슨 일이 일어나고 있는지 샘플을 제공해 주시겠습니까? 또한 : 왜 작동합니까 : 'http://www.main-domain.com/addon-domain-1.com/index.html >> http://www.addon-domain-1.com/index.html '당신이 현재 알고있는 다른 .htaccess 규칙들과 같이 현재의 설정에서는 그렇지 않을 것입니다. – Wrikken

0

이 시도 : 처음에 // maindomain.com/addondomain1.com` :

RewriteCond %{HTTP_HOST} !^www\.addondomain1\.com$ 
RewriteCond %{REQUEST_URI} ^/[^/]+/(.*) 
RewriteRule^http://wwww.addondomain1.com/%1 [R=301,L] 
관련 문제