2014-09-05 4 views
1

하나의 호스팅 계정에 여러 도메인을 호스팅하고 있으므로 각 도메인에 대해 public_html 폴더에 폴더를 만들었습니다.기본 도메인을 www로 리디렉션합니다. 하위 폴더

홈/사용자 이름/public_html을/examplewebsite.com/ 및 홈/사용자 이름/public_html을/otherexamplewebsite.com/

내가 적절한 하위 폴더로 방문자를 리디렉션 내 htaccess로 파일에 필요한 코드를 알아 내기 위해 노력했습니다 examplewebsite.com을 입력하면 주 도메인의 하위 폴더에 표시되지 않습니다. 내가 작업 한 원래이 코드를 발견

Options -Indexes +SymLinksIfOwnerMatch 
RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_URI} !^/domainfolder/ 
RewriteCond %{HTTP_HOST} ^(www\.)?domainname\. 
#Rewrite all those to insert /folder 
RewriteRule ^(.*)$ /domainfolder/$1 [L] 

을하지만, 나는 또한 WWW의 기본 도메인에 입력하는 모든 방문자를 리디렉션 할. 번역. 이 코드를 찾았지만, 나는 htaccess로 파일에 모두 사용할 때 다시 URL의 하위 폴더 이름을 볼 수

#Only www, no naked domain 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond %{HTTPS} on 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] 

난 정말이 모든 코드의 많은 부분을 이해하지 않는 경우에 그래서 당신의 전문가 내가 정말로 고맙게 여기는 해결책을 찾는데 도움이 될 수있다.

답변

1

루트의 .htaccess에 다음과 같은 규칙을 계속 :

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE] 

RewriteCond %{HTTP_HOST} ^(www\.)?domainname\. [NC] 
RewriteRule !^domainfolder/ domainfolder%{REQUEST_URI} [L,NC] 
+0

놀라운, 완벽하게 작동합니다 감사합니다 그. 그래서 더 많은 도메인을 추가 할 때 코드의 마지막 두 줄을 다시 붙여 넣기를 원하고 domainname과 domainfolder를 해당 이름으로 바꿉니 까? –

+0

맞습니다. 각 새 도메인에 대해 마지막 규칙을 반복하십시오. – anubhava

관련 문제