2008-08-19 22 views
39

나는이 개 호스트를 가지고 있고 호스트 두에 하위 도메인에 호스트 하나에 하위 도메인을 가리 키도록하고 싶습니다 : 나는 호스트로 CNAME 레코드를 추가A 또는 CNAME 레코드와 사이트 B에 사이트 A를 리디렉션하는 방법

subdomain.hostone.com --> subdomain.hosttwo.com 

하나는 subdomain.hosttwo.com을 가리키고 있지만 모두는 '400 잘못된 요청'오류입니다.

내가 뭘 잘못하고 있는지 누가 알 수 있습니까?

+11

주제가 아닙니다. DNS 설정은 프로그래밍의 영역에 있습니다. – superluminary

+20

@ superluminary : "offtopic"은 모드가 필드를 알지 못하거나 나쁜 머리 날을 보냈거나 항공권을 폐쇄하기위한 배지를 원했음을 의미합니다. 이 경우, ServerFault IMHO에 대한 질문이 더 적합하므로 마이그레이션이 완료되고 닫히지 않아야합니다. – SamGoody

+0

더 이상 동의 할 수는 없지만이 게시물을 다시 열거 나 마이그레이션해야합니다. DNS 구성은 두 영역을 넘어서 있습니다. –

답변

13

은 "> subdomain.hosttwo.com 하위 도메인"으로 변경 시도 전체 이름을 CNAME 별칭에 입력합니다.

오류가 발생하는 한, subdomain.hostwo.com에 로그온하여 로그를 확인할 수 있습니까?

+0

일반 URI 리디렉션 및 CNAME 리디렉션과 다른 점은 무엇입니까? – Elankeeran

+2

@Elankeeran URL 리디렉션에는 경로가 추가 될 수 있습니다. CNAMES는 전체 도메인으로 만 만들 수 있습니다. 예. URL 하위 도메인 (예 :'www')을 <[SubDomain.] Domain.TLD> [/ Path [/ ...]] (예 :'https : // www.example.com/sites/xyz')로 리디렉션합니다. (예 :'ghs.google.com') –

+0

CNAME은 A 또는 AAAA 레코드의 별칭으로 도메인이 될 수는 없지만 는 항상 도메인 * 또는 도메인 이름 내의 이름 *입니다. –

2

hosttwo.com의 웹 서버에서 정의되지 않은 도메인을 통과시키지 못하는 것 같습니다. 리다이렉트를 원한다고했는데 실제로 리디렉션하는 방법이 아닙니다. GoDaddy를 통해이 도메인을 구입 한 경우 리디렉션 서비스 만 사용할 수 있습니다.

+0

또는 호스트 변경 : – Eoin

0

301 redirect을 설정하는 것이 가장 쉽고/쉽습니다. DNS 해킹은 필요하지 않습니다. 당신이 hostone.com의 제어판에 갈 때 그래서, 당신이하지 말았어야,

CNAME 특정 도메인의 별칭입니다 -

0

DNS 이름을 다른 IP 주소에만 적용 할 수 있으므로 DNS를 사용하여 리디렉션하는 가상 호스트를 사용하는 경우 작동하지 않습니다.

브라우저에 subdomain.hostone.com을 입력하면 DNS를 사용하여 IP 주소를 가져옵니다 (CNAME 인 경우 A 레코드에서 IP를 가져올 때까지 계속 시도합니다). 그러면 해당 IP에 연결되어 전송됩니다

Host: subdomain.hostone.com

으로 HTTP 요청을 http 헤더에 넣습니다.

0

DNS 이외의 방법으로이를 수행 할 수 있습니다. subdomain.hostone.com의 방문 페이지는 HTTP redirect 일 수 있습니다. hostone.com의 웹 서버는 리디렉션하도록 (Apache에서는 쉽고 IIS에 대해서는 확실하지 않음) 구성 할 수 있습니다.

11

몇 가지 대답이 문제의 가능한 해결 방법에 부딪혔습니다.

나는 가장 쉬운 (그리고 SEO 목적을위한 최상의 솔루션 인) 301 리디렉션에 동의합니다. IIS에서는 매우 간단합니다. 사이트를 만든 후 subdomain.hostone.com 사이트를 만들고 마우스 오른쪽 버튼으로 사이트를 클릭 한 다음 속성으로 이동하십시오. 열리는 사이트 속성 창의 "홈 디렉터리"탭을 클릭하십시오. "URL로 리디렉션"라디오 버튼을 선택하고 새 사이트의 URL (http://subdomain.hosttwo.com)을 입력하고 "위에서 입력 한 정확한 URL", "이 리소스의 영구 리디렉션"에 대한 확인란을 선택합니다.이 두 번째 확인란은 301 리디렉션 대신 302 리디렉션). 확인을 클릭하면 작업이 완료됩니다.다음 방법 중 하나를 사용하여

아니면 http://subdomain.hostone.com의 사이트의 페이지를 만들 수는

PHP 리디렉션 (호스팅 플랫폼 지원 내용에 따라) :


<? 
Header("HTTP/1.1 301 Moved Permanently"); 
Header("Location: http://subdomain.hosttwo.com"); 
?> 

ASP 리디렉션 :


<%@ Language=VBScript %> 
<% 
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location","http://subdomain.hosttwo.com" 
%> 

ASP .NET 리디렉션 :


<script runat="server"> 
private void Page_Load(object sender, System.EventArgs e) 
{ 
Response.Status = "301 Moved Permanently"; 
Response.AddHeader("Location","http://subdomain.hosttwo.com"); 
} 
</script> 

CNAME 레코드가 올바르게 생성되었다고 가정하면 http://subdomain.hosttwo.com 용으로 만든 사이트에서 공유 IP를 사용하고 호스트 헤더를 사용하여 표시 할 사이트를 결정해야합니다. IIS에서이 문제를 해결하려면 웹 서버의 IIS 관리자에서 subdomain.hosttwo.com 사이트를 마우스 오른쪽 단추로 클릭하고 "속성"을 클릭하십시오. 표시된 "웹 사이트"탭에서 클릭해야 할 IP 주소 옆에 "고급"단추가 표시됩니다. "고급 웹 사이트 확인"창이 나타나면 "추가"를 클릭하십시오. subdomain.hosttwo.com에서 이미 사용중인 것과 동일한 IP 주소를 선택하고 TCP 포트로 80을 입력 한 다음 호스트 헤더 값으로 subdomain.hosttwo.com을 입력하십시오. 기본 IIS 관리자 창으로 돌아갈 때까지 확인을 클릭하십시오. 많은 사이트 소유자가 CDN 서비스를 사용하여 URL 도움이 http://subdomain.hostone.com

희망 ...

+0

PHP 헤더() 함수는 모두 소문자 여야합니다. –

+2

@UncleNinja : PHP는 header() 함수를 모두 소문자로 정의하지만 (PHP에서 사용하는 방법이므로) PHP 언어는 대소 문자를 구분하지 않으므로 'Header()'는 여전히 작동합니다. . – MrWhite

+1

@ w3d 감사합니다. 나는 그것에 대해 몰랐습니다! –

2

이 일을 보여줍니다에도 불구하고, 브라우저를 열고 http://subdomain.hostone.com로 이동 한 http://subdomain.hosttwo.com 표시에 당신이 사이트를 볼 수 있습니다 CDN 서버에서 데이터를 가져옵니다. 그 다음 두 가지 옵션으로 남아있는 사건의 경우

  1. 은 하위 도메인을 작성하지 마십시오 CNAME 레코드

  2. 을 추가하여 하위 도메인 및 편집 DNS를 만들기 만에 다시 가리키는 CNAME 레코드를 생성 임시 DNS URL.

이 솔루션은이 cdn.sitename.com에서 데이터를 가져 오는 것하지만, 실질적으로는 당신의 CDN 호스트에서 당기는 것을 보여 할 CDN에서 코드를 당겨을 의미한다.