하나의 VirtualHost 그룹 내에서 여러 리디렉션/다시 쓰기

하나의 VirtualHost 그룹 내에서 여러 리디렉션/다시 쓰기

이제 수십 개의 URL을 기본 사이트로 연결하려는 클라이언트가 있습니다. 사이트 아파치 구성 파일에 서버 별칭으로 추가했습니다... 이제 이 모든 URL이 기본 URL을 가리킵니다... 훌륭합니다.

내가 가진 문제는 이러한 별칭 중 하나라도 루트(예: www.domain.com/some-page/가 아닌 www.domain.com)에서 액세스된 경우 해당 별칭을 사이트 내의 특정 페이지로 리디렉션해야 한다는 것입니다( 즉, domain.com에 액세스하는 사람은 누구나 domain.com/special-landing-page/로 전송되어야 할 수 있습니다. 그러나 랜딩 페이지 이외의 다른 페이지로의 방문은 리디렉션 없이 정상적으로 계속되어야 합니다.

나는 이 문제로 몇 시간 동안 씨름해 왔지만 최선의 해결책을 찾지 못하는 것 같습니다. 누구든지 어떤 제안이 있습니까?

편집: 아 사실 그렇게 하고 있었는데.. 제대로 작동하지 못했습니다. 다른하실 말씀 있나요:

서버 이름 mgi.co.uk 서버 별칭 mgi.co.uk *.mgi.co.uk 서버 별칭 Central-heating-nottingham.co.uk *.central-heating-nottingham.co.uk

    RewriteCond %{HTTP_HOST} ^(www.)?central-heating-nottingham.co.uk$ [NC]
    RewriteRule ^$ /nottingham [R,L]

DocumentRoot /home/ben/sites/mgi/releases/current/mgi

    WSGIScriptAlias and other WSGI stuff....

업데이트: 로그에 다음 출력이 표시됩니다...

다음과 같은 결과가 나타납니다.

127.0.0.1 - - [15/Jun/2010:22:07:50 +0100] [mgi.co.uk/sid#84464a8][rid#8711c60/subreq] (1) 통과 /

127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial] (2) 요청된 uri /favicon으로 재작성 엔진을 초기화합니다. 아이코

127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial] (3) '^$' 패턴을 uri '에 적용 /favicon.ico'

127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#870dc50/initial] (1) /favicon.ico를 통과

127.0.0.1 - - [15/Jun/2010:22:07:56 +0100] [mgi.co.uk/sid#84464a8][rid#8713c68/subreq] (2) 요청된 uri /favicon으로 재작성 엔진을 초기화합니다. 아이코

답변1

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]
RewriteRule ^$ /special-landing-page [R,L]

당신이 시도한 것을 게시하십시오.

구성 파일에서 다음을 사용하여 재작성 로그를 생성하여 무슨 일이 일어나고 있는지 확인하세요.

RewriteLogLevel 9
RewriteLog /tmp/rl

바쁜 사이트에서는 서버 집약적일 수 있으므로 나중에 이 기능을 비활성화하십시오.

관련 정보