2012-07-17 5 views
12

/var/www 있음 나는 여러 사이트 (goodsite, badsite, 추한 사이트) 있습니다. 지금 그들은 mydomain.com/goodsite 등등에 의해 접근됩니다.아파치지도 단일 하위 도메인

내가 원하는 것은 particuar, uglysite의 한 사이트가 uglysite.mydomain.com에 의해 액세스되는 것입니다. 나머지는 그대로 유지됩니다.

나는 모든 종류의 .htaccess (/var/www)를 부지기 위해 노력했다. 참고 mod-rewrite가 활성화되어 있고 mod vhost-alias가 활성화되어 있습니다.

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^uglysite\.mydomain\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/uglysite/ 
RewriteRule ^(.*)$ /uglysite/$1 [L] 

무슨 일이 끝나는 것은 그 모두 mydomain.com 및 uglysite.mydomain.com 항상 (/var/www에서 즉, 인덱스) 같은 일에 매핑됩니다. 새로운 가상 호스트를 추가하려고 시도했지만 uglysite.mydomain.com이 올바르게 매핑 된 것을보고 놀라지 만 mydomain.com도 직접 uglysite에 매핑되었습니다.

<Virtualhost uglysite.mydomain.com:80> 
     ServerName uglysite.mydomain.com 
     ServerAdmin [email protected] 
     DocumentRoot "/var/www/" 
     AccessFileName .htaccess 
     <Directory "/var/www/uglysite"> 
       Order allow,deny 
       Allow from All 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

위의 내용이 내 사이트 사용/000 기본값 파일에 추가되었습니다. 이로 인해 uglysite.mydomain.com이 제대로 작동하지만 mydomain.com이 동일한 작업에 매핑되었습니다.

내가하고자하는 일을하는 간단한 방법이 있습니까 ?? 미리 감사드립니다.

답변

15
당신은

그래서 기본 000을 수정하는 대신 두 번째 파일에 uglysite하게한다

, 000-기본 파일의 복사본을 당신이이했던 것처럼 하위 도메인을 변경하고 디렉토리를 수정을/경로

000 기본 /에/사이트 :

<Virtualhost *:80> 
     ServerName mydomain.com 
     ServerAdmin [email protected] 
     ServerAlias mydomain.com 
     DocumentRoot "/var/www/goodsite" 
     AccessFileName .htaccess 
     <Directory "/var/www/goodiste"> 
       Order allow,deny 
       Allow from All 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

uglysite :

<Virtualhost *:80> 
     ServerName uglysite.mydomain.com 
     ServerAlias uglysite.mydomain.com 
     ServerAdmin [email protected] 
     DocumentRoot "/var/www/uglysite" 
     AccessFileName .htaccess 
     <Directory "/var/www/uglysite"> 
       Order allow,deny 
       Allow from All 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

또한 위의 샘플에서, 당신이 파일이

편집에서 제공 할 디렉토리를 가리 키도록 DocumentRoot을 수정 한 참고 : 버추얼 호스트 설정에 * : 귀하의 사이트는 자신의 IP를 가리 (80) 이후 어쨌든

+0

감사합니다. 지금 당장이 문제를 해결해 드리겠습니다. –

+0

이 파일을/etc/apache2/sites-available btw에 만들고이 파일을 사이트에 심볼릭 링크 ('ln -s sites-available/uglysite sites-enabled/uglysite')로 만들어야합니다. – arcyqwerty

+0

어디서나 명시 적으로 포함해야합니까? ? –