2009-11-07 9 views
0

요청 헤더를 확인하고 이에 따라 수신 요청을 회사의 적절한 하위 도메인으로 전달하고 싶다는 요구 사항이 있습니다. 예를 들어요청 헤더를 기반으로 한 도메인을 다른 도메인으로 전달

가 :

요청 헤더 (A)는 다음오고 항상 a.domain.com 간다

마찬가지로 요청 (관계없이 요청 a.domain.com 또는 b.domain.com에 온다) 헤더 B가 나오면 항상 b.domain.com으로 이동합니다.

응용 프로그램을 변경 (요청 헤더를 확인)하여 요청을 전달할 수는 있지만 요청이 애플리케이션 서버에 도달하는 대신 웹 서버가 먼저 처리해야합니다.

IIS와 Apache를 모두 처리 할 수있는 무언가 (CGI와 같은 방식)가 있습니다. 내 회사에는이 두 가지 응용 프로그램을 호스팅하는 하위 도메인이 있습니다.

도움을 주시면 대단히 감사하겠습니다. 감사합니다

+0

설정에 대해 좀 더 자세히 설명해 주시겠습니까? – phoebus

답변

1

아파치에서 다른 도메인에 대한 요청, 같은 것을 직접 mod_rewrite를 사용할 수있는 아마 다음

rewriteEngine on 
rewriteBase/
rewriteCond %{HTTP_HOST} ^A$ 
rewriteRule ^(.*) http://a.domain.com/$1 [L,R=301] 

이 해당 디렉토리에 .htaccess 파일에 넣어 적절 범위해야 또는 사이트 구성 요소에 포함될 수 있습니다.

IIS (버전에 따라 다름)는 다시 쓰기 모듈도 지원합니다. IIS 6의 경우 IIRF에서 mod_rewrite와 비슷한 구문을 볼 수 있습니다. IIS 7의 경우 mod_rewrite 규칙을 가져 오는 간단한 GUI가있는 URL Rewrite Module을 살펴보십시오.

+0

내가 정확히하고 싶은 것은 모바일이나 일반 브라우저에서 오는 요청을 확인하여 HTTP_USER_AGENT를 확인해야합니다. rewriteCond가 아파치에서 나를 위해 그 일을 할 것인지 확인했다. IIS 확인해야합니다. 어쨌든 도움을 주셔서 감사합니다. –

+0

네, 무슨 뜻인지 알 겠어요. 당신이 말했듯이 % {HTTP_HOST}는 % {HTTP_USER_AGENT}로 쉽게 대체 될 수 있고 RegEx는 특정 사용자 에이전트 문자열과 일치하도록 수정할 수 있습니다. – joshperry