2013-04-14 2 views
1

서브 도메인을 허용하기 위해 하위 도메인 와일드 카드를 설정했습니다. 주된 문제는 DirectAdmin을 사용하고 하위 도메인을 DA API를 사용하여 특정 경로로 지정할 수 없음입니다. 에가/public_html을/하위 도메인/하위정규식을 사용하여 서브 도메인에 동적으로 문서 루트를 설정합니다.

일이

<VirtualHost *:80> 
    VirtualDocumentRoot /public_html/subdomains/%1 
</VirtualHost> 

이 될 것 같은 가리켜 야 예를 들어 sub.domian.com에 대한 하위 디렉토리

에 존재입니다 subdomian라는 이름의 폴더에 subdomian 내 생각 리터 질문은 완전히 htaccess로를 사용하여

답변

-3

당신이 필요

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP_HOST} !www\.domain\.com$[NC] 
RewriteCond %{HTTP_HOST} ^(.*?)\.domain\.com$ 
RewriteCond %{REQUEST_URI} !folder/(.*?)/ 
RewriteRule ^(.*) /folder/%1%{REQUEST_URI} [L] 
</IfModule> 
+0

이것은 URL 재 작성이며, 문서 루트를 재정의하는 것이 아닙니다. 문서 루트는 관련 아파치 설정 파일에 항상 설정되어야한다. –

-3

이 수행 할 수 있습니다 바보 같은 소리하면 내가 ".x를"와 같은 단어가 아마 미안

<VirtualHost *.x:80> 
    VirtualDocumentRoot /public_html/subdomains/%1 
</VirtualHost> 

처럼 해당 경로

에서 지적하는 내용 하위 도메인을 설정합니다. 하위 도메인은 대한

RewriteCond %{HTTP_HOST} !www.domain.com [NC] 
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).domain.com [NC] 
RewriteRule ^(.*/) /%1/index.php [PT,L] 

당신은 파일로 RewriteRule의를 수정할 수 있습니다 그런 다음 다음 유형의 규칙을 사용할 수 있습니다

을 domain.com에 와일드 카드 하위 도메인 이름 * .domain.com에을 활성화하고 그것을 가리 키도록해야 저장된.

+0

코드가 작동하지 않습니다 – h0mayun

+0

확인 코드에 약간의 변화 이제 작동합니다. RewriteCond % {HTTP_HOST}! www \ .domain \ .com $ [NC] RewriteCond % {HTTP_HOST} ^. 도메인? .com $ RewriteCond % {REQUEST_URI}! sites/. *?)/ RewriteRule^(. *) /sites/%1/index.php [L] 하지만 해당 디렉토리의 하위 폴더에 액세스 할 수 없습니다. 예 4 sub.domain.com/folder/ sub.domain.com/ 내용 표시 – h0mayun

0

은 다음과 같습니다 대답입니다 발견 여전히 부모 인덱스 내용을 보여줍니다

<VirtualHost *:8080> 
    ServerName localhost 
    ServerAlias *.localhost 

    #the %1 is the asterisk value! No regexp supported! 
    VirtualDocumentRoot /home/%1/project 
    VirtualScriptAlias /home/%1/project 

    <Directory /home/*/project/> 
    #... 
    </Directory> 
</VirtualHost> 
관련 문제