我对 DNS 管理还很陌生。一段时间以来,我一直在尝试将我的根域@
和www
GitHub 帐户页面指向user.github.io
。
我有一个CNAME
指向www
的user.github.io.
,但由于某种原因,我无法执行CNAME
指向@
的user.github.io.
。
我收到的错误是CNAME records cannot share a name with other records
。
我根本不知道这是什么意思,请帮忙。
如果有什么不同的话,我会使用 DigitalOcean 的 DNS 控制
答案1
您需要一个充当 URL 重写器/重定向器的主机。您需要将 DNS 指向domain.tld
运行 Web 服务器的主机(最好是超轻量级的。精简版 Apache、nginx 或 lighthttpd)。然后,该 Web 服务器将接受domain.tld
并立即 301 重定向到user.github.io
。
至于www.domain.tld
,您可以为此使用 CNAME 记录,但随后您将会有两种不同的行为:
- 人们访问
domain.tld
后被重定向到另一个 URL:user.github.io
- 人们去
www.domain.tld
并停留www.domain.tld
但看到的内容user.github.io
(假设 github 允许这样做,我不会详细介绍)
因此您可能不希望出现上述行为。相反,您可能希望将其添加到www.domain.tld
轻量级 Web 服务器将处理重定向的 URL 列表中。
别读这个:
您可以找到执行 apex CNAME 的 DNS 主机,但它们很糟糕。不要这样做。无论如何,它可能无法达到您想要的效果。