it-gundan.com

경로 정보를 유지하면서 DNS 설정을 통해 한 도메인을 다른 도메인으로 리디렉션 할 수있는 방법이 있습니까?

예를 들어 내 도메인은 example.com이고 누군가가 example.com/sample/page.htm로 이동하면 test.com/sample/page.htm (으)로 리디렉션하고 싶습니다.

.htaccess 파일 또는 404 페이지를 사용하여 쉽게 수행 할 수 있음을 알고 있습니다. 그러나 DNS 공급자가 파일을 호스팅하도록 요구하지 않는 솔루션을 찾고 있습니다.

다음과 같이 DNS 설정으로 만 수행하고 싶습니다.

  • CNAME 레코드
  • 기록
  • 301 전달
  • (필요한 다른 DNS 설정)

이것을 할 수있는 방법이 있습니까?

26
Senseful

Dns (원하는 경우 CNAME)를 통해 example.com/test.com을 동일한 웹 서버 (IP)로 확인하면 작동합니다.

경로 단위 로이 작업을 수행하려는 경우 no보다. DNS는 URL과 같은 것을 무지합니다. DNS는 단순히 URL의 호스트 부분 (example.com)을 IP 주소로 변환합니다. 웹 서버는 URL이 무엇을 해결해야하는지 파악해야합니다. 웹 서버 (http) 수준 에서이 작업을 수행해야한다고 생각합니다.

12
Thomas

언급 한 바와 같이, 이것은 DNS로 완전히 수행 될 수는 없습니다. 그러나 example.com에 DNS가있는 경우 test.com과 동일한 서버를 참조하면 원하는 작업을 수행하도록 Apache를 구성하는 것이 매우 간단합니다. 다음을 추가하십시오.

<VirtualHost *:80>
  ServerName example.com
  Redirect permanent / http://test.com/
</VirtualHost>

그러면 경로를 유지하면서 example.com에 대한 들어오는 링크가 test.com에 대한 링크로 다시 쓰여집니다.

또한 DNS 공급자는 test.com을 위해 이미 실행중인 웹 서버에만 의존하므로 파일을 호스팅 할 필요가 없습니다.

8
Kris

DNS만으로는이 작업을 수행 할 수 없습니다. 301 리디렉션은 DNS가 아닙니다. 그들은 웹 서버 일입니다.

Example.com DNS 항목을 test.com과 동일한 서버로 지정하고 example.com을 test.com의 별칭 도메인으로 설정하면됩니다.

3
intlect

Www.mydomain.com에서 mydomain.com으로 모든 요청을 리디렉션하는 데 사용하는 정확한 .htaccess 규칙은 다음과 같습니다 (짧은 표준 URL이므로).

RewriteCond %{HTTP_Host} ^www\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://mydomain.com/$1 [R=301,L]

요청을 유지하면서 클라이언트는 foo.com에서 foobar.com로 리디렉션하도록 쉽게 수정할 수 있습니다. 클라이언트는 적절한 도메인으로 301 리디렉션 만받습니다.

그러나 다른 사람들이 말했듯이 DNS 서버는 FQDN을 IP 주소로 해석하기만합니다.

3
Tim Post