2010-05-23 5 views
2

전 서버 하나와 서버 두에 twitter.com 같은 사이트가 내가있는 경로가 1 도메인 .. 2 서버와 2 응용 프로그램

서버 하나 싶었

domain.com/forum 같다 포럼, 와일드 카드 dns를 구현하고 메인 도메인을 배치하십시오. 하지만 서버 2에서 나는 별도의 포럼을 유지하고 싶었고, 서브 도메인 forum.domain.com을 제공하지 못했습니다. 왜냐하면 모든 링크가 검색 엔진에 이미 들어 있기 때문이며 domain.com/forum에 다시 링크되기 때문입니다.

나는 궁금 해서요. 서버에 도메인 및 와일드 카드 DNS를 둘 수 있고 domain.com/forum (하위 폴더로) 서버 2에 경로를 제공 할 수 있습니까?

어떤 아이디어가 있습니까?

htaccess가 그 작업을 수행 할 수 있다고 생각하십니까? 그렇다면 어떻게?

+3

은 serverfault에 속해 있습니다. – Earlz

+0

ServerFault로 마이그레이션하는 경우 현상금도 함께 마이그레이션됩니까? –

답변

2

server2를 가리키는 서버 1에서 프록시를 사용하면 모든 트래픽이 서버 2를 통해 라우팅되므로 서버 1의로드가 증가합니다. 게다가 서버 1이 다운되면 아무도 서버 2에 연결할 수 없습니다. 물론 그것은 가능하지만, 이러한 것들을 고려해야합니다.

forum.domain.com과 같이 서버 2의 supdomain을 설정하고 서버 1에서는 htaccess의 mod_rewrite를 사용하여 domain.com/forum에서 forum.domain.com으로 301 리디렉션을 설정하는 것이 좋습니다. 이 기술을 사용하면 특정 링크로 호출을 서버 2의 해당 페이지로 리디렉션 할 수도 있습니다. 검색 엔진이 301을 따라 가면 결국 색인이 업데이트됩니다.

1

두 개의 서버가있는 경우 리디렉션 (이상적으로 301 영구 리디렉션)을 사용하여 domain.com/forum에서 forum.domain.com으로 사용자를 이전 할 수밖에 없습니다.

다른 방법으로는 URL을 읽고 내부적으로 올바른 서버로 쿼리를 보내는 두 서버 앞에 역방향 프록시를 넣는 것일 수 있습니다.하지만 이것이 바로 추가 하드웨어입니다.

+0

그것은 htaccess 오른쪽에서 할 수 있습니까? – Basit

3

domain.com/forum이 실제로 forum.domain.com의 페이지를 표시 할 수 있도록 htaccess 및 mod_rewrite를 사용할 수 있습니다.

아마 이런 일이 :

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule domain.com/forum/(.+) forum.domain.com/$1 
2

는 당신과 같이 새 URL을 확인 검색 엔진 업데이트 그들의 인덱스를 만들기 위해 301 리디렉션을 사용할 수 있습니다

RewriteRule domain.com/forum/(.*) http://forum.domain.com/$1 [R=301,L] 
3

쉬운 - 프록시를 사용 ! 아파치가 마음에 드시면 아파치 mod_proxy를 좋아하실 것입니다.

<VirtualHost *:80> 
    ServerName maindomain.com 
    ServerAlias *.maindomain.com 

    # insert document root and general settings for this domain here 
    # ... 

    ProxyPass /forum http://forumdomain.com 
    ProxyPassReverse /forum http://forumdomain.com 
    ProxyPassReverseCookieDomain forumdomain.com maindomain.com 
</VirtualHost> 

이 구성은 아파치 내부 위치의 사용자가 브라우저를 notifiying하지 않고 내부 도메인 (forumdomain.com)에 HTTP 요청을 할 수 있습니다. 포럼은 http : //*.yourdomain.com/forum에서 액세스 할 수 있습니다. 쿠키와 헤더는 포럼 센트가 그에 따라 다시 작성 될 것이고 검색 엔진은 백엔드 서버에 주목하지 않을 것입니다.

당신은 http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

에서 그것에 대해 자세한 내용을보실 수 있습니다 당신은 참조 죄를 당신의 HTML (HREF, SRC ...) 당신은 "mod_proxy_html"에 구글 수도를 다시 작성해야합니다.

물론 이와 같은 솔루션은 물론 오징어와 같은 다른 지능형 프록시 서버로 구축 할 수도 있습니다. '백엔드 서버'의 모든 콘텐츠를 공개 도메인에 매핑하는 데 사용할 수 있습니다.

이 :)

PS를 어떻게 작동하는지 귀하의 사이트를 즐겨하고 피드백을 제공 ... 반드시 경로가 정상 또는 인터넷 192.168 IP-요지와 내부 도메인 (forumdomain)에 대한 호스트 항목을 설정합니다 : "RewriteRule"지시문은 잠재적으로 동일한 일을 할 수 있지만 "P"를 지정하지 않으면 클라이언트가 내부 프록시 요청을 수행하도록 지정하지 않으면 rdirect가 클라이언트에 표시되고 실행됩니다. 가능하다면 mod_proxy를 선호하지만 좀 더 다재다능하고 더 많은 구성을 허용합니다.