![CNAME 重定向记录](https://linux22.com/image/525173/CNAME%20%E9%87%8D%E5%AE%9A%E5%90%91%E8%AE%B0%E5%BD%95.png)
我刚刚注册了一个域名(比如说http://www.abc.com)。我还有一个包含内容的网站(比如http://www.freehost.com/mywebsite)。
我想重定向输入以下内容的访客http://www.abc.com到http://www.freehost.com/mywebsite。可以使用 DNS 记录来完成此操作吗(如果可以,怎么做?)?
谢谢!!
乔尔
编辑:
感谢大家的回答!我知道它只适用于顶级域名。那么子域名呢?我可以使用 CNAME 重定向到 http://mydomain.freehost.com?
答案1
不,这无法通过 DNS 记录来完成。
CNAME 记录只能将主机名重定向到主机名,而不能将主机名重定向到完整的 URL。
要完成您的要求,您需要一个单独的 Web 服务器,www.abc.com
该服务器会发出 HTTP 重定向,将用户发送到正确的 URL。请注意,您的廉价 Web 主机地址也会出现在用户的浏览器地址栏中。
或者,如果您的网络内容也可用,http://subdomain.freehost.com/
那么 CNAME 就是合法的。
但是,需要配置 Web 服务器以接受您的新域名(即通过 Host: 标头)并知道要为哪个用户提供内容。您的免费 Web 主机可能不允许这样做。
答案2
是的,子域名由 DNS 处理,因此您可以设置一个 CNAME 来指向www.abc.com
(mydomain.freehost.com
最好不要称之为“重定向” - 这是在 HTTP 级别处理的,因此可能会造成混淆)。
但请注意,这仍然可能无法正常工作。最好先在 drivers/etc/hosts 文件中设置一条记录,然后在更改 DNS 记录之前测试它是否正常工作。
答案3
两个步骤:
- 您需要创建一个从 www.abc.com 到 www.freehost.com 的 CNAME。
- 在 www.freehost.com 创建一个重定向页面(php、aspx 等),以便将访问该页面的任何人发送到 www.freehost.com/mywebsite
您无法仅使用 DNS 完全实现您的解决方案,但通过上述步骤您可以获得您想要的结果。
答案4
您确实应该通过 htaccess 文件而不是 DNS 来执行此操作。修改 CNAME 记录有特定的原因,简单的重定向不是其中之一。看看这里查看有关 htaccess 的教程,或者自己用 Google 搜索。
编辑:还请注意,如果两个域名的 DNS 都指向他们,您的网络托管服务提供商可能会在他们的控制面板中为您提供一个选项来执行此操作。