2011-08-04 3 views
4

나는 여러 개의 도메인에 응답하는 자바 애플리케이션을 가지고 있으며 각 도메인마다 특정 아파치 가상 호스트를 사용한다. 이것은 Apache가 정적 인 자원을 제공하기 위해 Tomcat보다 빠르기 때문입니다.아파치 가상 호스트와 "동적"도메인

필요성은 런타임에 재시작 아파치 구성없이 수행해야합니다.

AddType text/html .html .shtml 
AddOutputFilter INCLUDES .html .shtml 

NameVirtualHost *:80 
UseCanonicalName Off 
<VirtualHost *:80> 
    ServerName domain.com 
    ServerAlias * 

    # Define virtual host directory, using entire domain 
    VirtualDocumentRoot /path/to/whosts/%0 

    # Define directory access 
    <Directory "/path/to/whosts/"> 
     Options -Indexes MultiViews +Includes 
     Order allow,deny 
     Allow from all 
    </Directory> 

    # Define Java Proxies 
    <Proxy *> 
     AddDefaultCharset Off 
     Order deny,allow 
     Allow from all 
    </Proxy> 

    # Allow Libs (static resources) to access apache directly 
    ProxyPass /libs ! 
    ProxyPass/ajp://localhost:8009/ 
    ProxyPassReverse/ajp://localhost:8009/ 
</VirtualHost> 

내가 www.domain.com에 액세스하려고하면 때문, 잘 작동하지 않습니다, domain.com에 대한 접근과 다른 : 아래에 설명 된대로 은 내가한다 VirtualDocumentRoot 지시자를 사용하고이 작업을 수행하려면 .

www.domain.com에서 domain.com으로 기호 링크를 등록하는 것이 좋습니다 생각하십니까 ???

다른 방법이 있습니까? 정말 아파치 관리에 가난한 ...

고마워요!

Ciao, Davide.

답변

2
나는 정기적으로 유사한 구성을 할 때 같은 웹 루트에 여러 도메인을 연결하는 심볼릭 링크를 사용

는 해당 솔루션에 명시 해가 없다 그래서 확실히 그것으로부터 멀리 부끄러워 할 아무 이유도.

0

좋은 방법은 표준적인 것이어야한다 URL의 유형을 결정하는, 그것에 URL을 리디렉션 mod_rewrite을 사용 - domain.com에, 예를 들어 일치하는 요청을하고 www.domain.com로 리디렉션. 이 작업을 수행하는 방법에 대한 많은 자습서가 웹에서 쉽게 찾을 수 있어야합니다. 때문에 하드 http://에 당신은,하지만, SSL을 사용하는 경우 문제가 발생할 것

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

: 내 머리 위로 떨어져

, 당신은 같은 것을 사용할 수 있습니다. 나는 당신이 피하기 위해 다음에한다 RewriteRule 라인을 변경할 수 있다고 생각 :

RewriteRule ^(.*) %{SERVER_PROTOCOL}://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
관련 문제