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


26

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

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

DNS 설정으로 만이 작업을 수행하려고합니다. 예 :

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

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


나는 당신이 원하는 것이 더 와일드 카드 설정이라고 생각하지만 리디렉션 없이이 시점에서 구현 할 수 있다고 생각하지 않습니다.
Tim Post

누구든지 이것에 대해 명확하고 간단한 답변을 줄 수

@fatty, 당신은 무엇을 이해하지 못합니까?
John Conde

답변:


12

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

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


1
예, example.com에서 CNAME을 설정하면 example.com을 호스팅 할 필요가 없습니다. test.com 호스트가 example.com에 응답하도록 설정 한 다음 test.com에서 mod_rewrite 또는 URL 다시 쓰기를 사용하여 example.com 호스트 이름을 감지하고 다시 작성하십시오. 그러나 이것은 위험 할 수 있습니다. example.com에 test.com 서버에 자체 vhost가 있고 리디렉션 규칙 만있는 것이 좋습니다.
JasonBirch

8

언급 한 바와 같이, 이것은 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을 위해 이미 실행중인 웹 서버에만 의존하므로 파일을 호스팅 할 필요가 없습니다.


아니면 그냥 test.com의 가상 호스트 파일에 ServerAlias에 지시어를 추가 ..
마이클 Clerx

3

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

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


3

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

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

즉에서 리디렉션에 쉽게 수정할 충분 foo.comfoobar.com요청을 유지하면서, 클라이언트는 해당 도메인에 301 리디렉션을 얻는다.

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


나는 이것을 사용했지만 두 번째 줄에서 마지막 슬래시 ( RewriteRule ^(.*)$ http://mydomain.com$1 [R=301,L]) 를 제거 하거나 리디렉션 된 URL에 두 개의 슬래시를 추가해야했습니다. 다른 사람이 그것을 경험?
julien_c
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.