2013-11-23 6 views
0

저는 웹 서버 구성의 대부분을 사용할 수 있지만 문제가 발생했습니다.Apache 설정 고유 하위 도메인 및 도메인 디렉토리

하나의 하위 도메인으로 VPS를 설치했습니다. 현재 링크 sub1.domain.com은 public_html/www 폴더의 루트를 가리 킵니다.

나는 새로운 하위 도메인을 만들뿐 아니라 domain.com을 사용하여 WordPress 설치를 가리키고 있습니다.

제 생각에는 아파치 httpd.conf 파일을 편집해야하지만 정확히 어떻게 해야할지 잘 모르겠습니다. 나는 domain.com이 하위 디렉토리뿐만 아니라 다른 하위 디렉토리를 가리키는 sub2.domain.com을 가리 키도록해야 할 것이라고 기대한다. 다음과 같은 것.

sub1.domain.com >> rootPathForApache/ 
domain.com >> rootPathForApache/domain.com/ 
sub2domain.com >> rootPathForApache/sub2/ 

누군가 올바른 방향으로 나를 가리 키길 바랍니다.

옵션 1 : 아파치의 <VirtualHost> directive이 (배를) 해결할 수

친절 감사를

답변

1

당신은 몇 가지 옵션이 있습니다. 이 주소는 server config context에서만 사용할 수 있습니다.

<VirtualHost *:80> 
    DocumentRoot "rootPathForApache/" 
    ServerName sub1.domain.com 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "rootPathForApache/domain.com/" 
    ServerName domain.com 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "rootPathForApache/sub2/" 
    ServerName sub2domain.com 
</VirtualHost> 

옵션 2 : mod_rewrite 모듈과 rootPathForApache 사용 .htaccess 파일은 이 중 기존 <VirtualHost> 지시에 ServerAlias directive을 소개,로드. (당신이는 VirtualHost 지시어 자체 내 원하는 경우 나)

의 .htaccess 내용 :

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^sub1.domain.com 
RewriteRule ^(.*)   $1 [L] 

RewriteCond %{HTTP_HOST} ^domain.com 
RewriteRule ^(.*)   domain.com/$1 [L] 

RewriteCond %{HTTP_HOST} ^sub2domain.com 
RewriteRule ^(.*)   sub2/$1 [L] 

... 그리고 ServerAlias :

ServerName domain.com 
ServerAlias sub1.domain.com sub2domain.com 

후자의 솔루션 (옵션 2) 단지 말도 안되는 것 같습니다 특히 ServerAlias는 VirtualHost 지시문에서만 사용할 수 있으며 mod_rewritehtaccess 파일은 불필요한 오버 헤드를 추가하기 때문에 특히 그렇습니다. 그것은 자연스럽지 않습니다. 나는 그것이 아파치의 설정과 모듈의 유연성을 설명한다고 생각한다.

관련 문제