Domain-Name-System

使用 CNAME 記錄將子域重定向到另一個網站?

  • October 25, 2016

根據我目前的理解,我可以使用 CNAME 記錄將使用者重定向到另一個域。例如,我擁有“mydomain.com”。當使用者訪問“keep.mydomain.com”時,他們應該被重定向到“keep.google.com”。

我的 DNS 記錄集中目前有以下記錄: 名稱:keep.mydomain.com 類型:CNAME 值:https ://keep.google.com/ TTL:300ms

我在該子域下沒有任何其他記錄,但是我在其他域/子域下確實有 MX、A、NS、SOA、TXT 和其他 CNAME 記錄,它們可以正常工作。但是,當我轉到“keep.mydomain.com”時,出現錯誤:

This site can’t be reached
keep.mydomain.ca’s server DNS address could not be found.
ERR_NAME_NOT_RESOLVED

我是否誤解了 CNAME 的使用,或者我配置的內容是否有衝突?

CNAMES 不是重定向,它們是別名。CNAME 還包括所有其他資源記錄,例如 A、MX、TXT。

因此,如果您查詢 A 記錄,則 cname 會將您發送到其別名的 A 記錄。

許多註冊商包括其他選項,例如重定向服務、godaddy 和 Google。

此外,請小心輸入 CNAMES 的值,一些系統假定終止週期,而另一些則不假定。

假設域 example.com

test IN CNAME example.org

測試結果解析為不存在的主機 example.org.example.com 的 IP。

test IN CNAME example.org.

導致測試解析為確實存在的主機 example.org 的 IP。

CNAME 值只能是 HOSTS,不能是 URL。

dig A keep.richardyang.ca @8.8.8.8
keep.richardyang.ca.    299     IN      CNAME   https://keep.google.com/.

將其更改為

keep.richardyang.ca.    299     IN      CNAME   keep.google.com.

也許看看https://stackoverflow.com/questions/10115799/set-up-dns-based-url-forwarding-in-amazon-route53

有關如何將合成記錄與 Google.com 域一起使用的範例。

保持紀錄

;; ANSWER SECTION:
keep.jacobdevans.com.   3600    IN      CNAME   ghs.googlehosted.com.
ghs.googlehosted.com.   163     IN      A       173.194.207.121

這會將我的請求發送到 google 的伺服器,然後 google 將 302 程式碼發送到新的 url,我選擇了 302,如果你想讓 SEO 知道這是一個永久性更改,你會想要 301,我可能想切換我的目的地稍後我將其用於我的簽名連結,以確保我的聯繫資訊保持最新。

或者,既然您已經有一個網站,請將域指向那裡並重定向該站點。

腳本:

<script type="text/javascript">
if (window.location.href== "http://keep.richardyang.ca") {
  window.location.href = 'http://keep.google.com'; 
}
</script>

域名解析:

keep.richardyang.ca.    299     IN      CNAME   richardyang.ca.

引用自:https://serverfault.com/questions/811154