2017-01-21 10 views
0

오래된 웹 사이트는 www.domain.com이라고 믿게 만드는 URL이 깊게 묻혀있는 포럼 소프트웨어를 실행합니다. 링크의 절대 URL을 반환합니다. 우리는 새로운 서버를 운영하여 www.domain.com의 나머지 부분을 인수하고 기존 웹 사이트 포럼을 통해 프록시하여 기존 URL을 모두 SEO 및 책갈피에 대해 유지 관리해야합니다.이전 웹 사이트가 www.domain.com에서 작동해야하며 개발 중에도 계속 살아 있어야하는 Apache 2.4의 새 기능을 통해 이전 웹 사이트의 일부를 프록시하는 방법은 무엇입니까?

실제로 테스트 모드 (개인/etc/hosts 파일 또는 개발자 용 프록시 사용)로 새 서버를 실행하므로 '오래된'사이트는 잠시 동안 www.domain.com으로 남아 있어야합니다. 일반인들에게는 더 오래 걸리지 만 새로운 사이트를 통해 프록 시화되는 것은 우리가 살 때와 마찬가지입니다.

아파치 지시문 "ServerAlias ​​old.domain.com"은 요청에서 해당 도메인을 사용할 때 포럼 엔진에서 올바른 페이지를 반환하지만 위치가있는 302 개의 발견 된 헤더 : 각 응답에 대해 http://www.domain.com/forum . (이것은 내가 생각 아파치에 서버 이름 www.domain.com ServerAlias에 old.domain.com 어떤 웹 사이트의 전형적인 것입니다.)

또한, 우리로, mod_rewrite를 현명 성능을 갈 수있는 방법이 아니다 보인다 포럼에서 한 번에 500-1000 명의 사용자를 '라이브'상태로 만들므로이를 피하려고합니다.

(이 질문은 하루 종일 조사한 다른 모든 리디렉션 질문과 다릅니다. 다른 질문에서는 www.domain.com을 사용하여 이전 서버를 유지하지만 DNS를 지적하지는 않습니다.)이 상황에서는 이전 서버 및 포럼 소프트웨어가 필요합니다. 그 설정으로 www.domain.com 유지)

답변

0

다른 사람들이 혜택을 누릴 수 있도록 여기에 내 자신의 질문에 대답이에 너무 많은 시간을 소비 : 링크에

절대 URL을 확인하다 - www.domain.. co.kr은 괜찮습니다. 물론 새로운 서버에서는 www.domain.com/forum/에 대한 요청을 프록시 처리합니다. 따라서 헤더 나 html 본문에 해당 URL을 다시 작성하는 것에 대해 걱정할 필요가 없습니다. (검색 엔진이나 사용자에게 old.domain.com을 노출 할 수 없기 때문에 SEO 점수에 영향을 미치고 다른 URL에 대해 중복 콘텐츠로 표시됩니다.) 사용

:

ProxyPass /forum/ http://old.domain.com/forum/ 

잘 작동하고, 기존 서버는 우리에게 old.domain.com하지만 www.domain.com을 반환하지 않는 한 우리는 심지어 ProxyPassReverse 필요하지 않습니다.

큰 문제는 302 위치를 발견했습니다 : www.domain.com/forum/ 헤더 - 우리가 제거하지 않으면 브라우저가 해당 URL을 다시로드하고 proxyPass를 다시 누르며 계속해서 ' 리디렉션이 너무 많습니다. '

우리가 해당 위치에 대한 mod_headers 지시어를 사용하는을 제거하려면 다음

<Location "/forum/"> 
    Header unset location 
</Location> 

이는 ProxyPass로 지시 후 설정에 있어야합니다. (문서가 말하는 것과 관계없이 헤더 지시문이 내부에서 작동합니다.)

슬래시 URL을 후행하지 않고/포럼을 해결하기 위해, 우리는이 ProxyPass로 전에 넣어 :

Redirect "/forum" http://www.domain.com/forum/ 

하나의 문제는 다른 어떤 쿠키 또는 어떻게 든 망가 거부/무시되는 로그인 자격 증명되고 있음에 남아있다.포럼은 예를 들어 쿠키 내용을 연결 IP와 비교할 수 있지만이 방법은 일반적인 해결책의 문제보다 포럼 운영의 기능입니다.