2014-01-07 1 views
0

VirtualDocumentRoot를 사용하여 여러 도메인과 하위 도메인을 보유하고 있습니다. 누군가가 IP 또는 존재하지 않는 도메인으로 내 서버에 도달하려고 시도 할 때까지 모든 것이 잘됩니다. 예를 들어 10.10.10.10은 404 찾을 수 없음 오류가됩니다. 어쩌면 누군가가 존재하지 않는 도메인이나 IP를 내 기본 도메인 www.example.com으로 리디렉션 할 수있는 해결책을 찾을 수 있습니까?Apache VirtualDocumentRoot가 존재하지 않는 도메인을 리디렉션

분명하지 않으면 존재하지 않는 하위 도메인은 리디렉션되고 있지만 존재하지 않는 도메인은 리디렉션되지 않습니다.

HTTPD.CONF :

<VirtualHost *:80> 
     ServerName default 
     ServerAlias * 
     #www.example.com == /httpdocs/example.com/www/ 
     VirtualDocumentRoot /httpdocs/%-2.0.%-1/%-3 
    </VirtualHost> 

/httpdocs/example.com/.htacces :

장애 조치를 지정할 수있게된다 mod_vhost_alias에서 "버그"가있는 것 같습니다
# Rewrite all non-existing subdomains to www. 
RewriteCond %{HTTP_HOST} example\.com$ 
RewriteRule ^.*$ http://www.example.com%{REQUEST_URI} [R=301,L] 
+0

나는 솔루션은 단지 추가 발견 . * $ http : //www.example.com% {REQUEST_URI} /httpdocs/.htacces에 있음 (웹 루트 폴더) – WhiteFang

답변

0

내 문제에 대한 해결책이었다 :
이는 원인이됩니다 내 웹 루트 폴더 /httpdocs/.htaccess

에 .htacces이 추가 모든 존재하지 않는 그들이 선택됩니다 루트 폴더에 영업을 종료하려면 도메인을 .htaccess에 의해. ! #이 example.com 한다 RewriteCond % {HTTP_HOST} 예를 들어 \ .COM $ [NC]
RewriteRule의 모든 존재하지 않는 도메인을 다시 작성^: (더 이상 심볼릭 링크)

# Enable Rewrite Engine 
RewriteEngine on 

# Rewrite all non-existing domains to example.com 
RewriteCond %{HTTP_HOST} !example\.com$ [NC] #just add your main domain here 
RewriteRule ^.*$ http://www.example.com%{REQUEST_URI} [R=301,L] 
0

/보간 된 디렉토리가 존재하지 않는 경우 기본 디렉토리 (this page 하단의 주석 참조) 임의의 도메인 이름을 처리 할 수 ​​있다고 생각하지 않으므로 일치시키려는 각 도메인 이름에 대한 디렉토리를 만들어야합니다 보간 규칙을 사용합니다.

그러나 IP 주소의 경우이 디렉토리의 심볼릭 링크를 /httpdocs/230.239/132/에서 /httpdocs/gdwebs.nl/www/으로 만들면 작동 할 것입니다.

심볼릭 링크를 만들 수없는 경우 /httpdocs/230.239/132/ 디렉토리를 만들고 htaccess를 사용하여 요청을 리디렉션합니다.

+0

일시적인 해결책 주셔서 감사하지만 이것은오고 계신 분들에게만 적용됩니다. IP 주소에서. 나는 해결책이 모든 존재하지 않는 도메인/디렉토리를 포착하는 것을 좋아한다. – WhiteFang

+0

내 질문에 대한 해결책을 발견하고 그것을 anwser로 추가했습니다. – WhiteFang

관련 문제