DNS 将 domain.com 重定向到 www.domain.com [关闭]

Posted

技术标签:

【中文标题】DNS 将 domain.com 重定向到 www.domain.com [关闭]【英文标题】:DNS redirect domain.com to www.domain.com [closed] 【发布时间】:2013-02-16 19:40:17 【问题描述】:

我已经对该问题进行了网络搜索,但对结果完全失望。案例是将所有对 domain.com 的请求重定向到子域 www.domain.com。

所以我有什么:

    www.domain.com - 主网站域,所有客户端请求都应该是 重定向到这里 domain.com - 另一个网站入口点 不使用 www 前缀的人,所有请求都应重定向到 www.domain.com mydomain.com - 替代网站别名,所有 请求应重定向到 www.domain.com www.mydomain.com - 对于使用 www 前缀的人,所有请求都应重定向到 www.domain.com

我知道使用 .htaccess 和 php 可以做到这一点。但我想弄清楚如何仅使用 DNS 来完成。我也了解 DNS 查询的结果不会改变 HTTP 层中发生的情况,因此最初输入的域名将始终是发送到主机中的 Web 服务器的域名。因此,要将 domain.com 重写为 www.domain.com,我仍然需要 Apache mod_rewrite。但我想用 DNS(CNAME 和 A 记录)做主要工作。

所以主要问题是上面每个域应该有什么CNAME和A记录?

【问题讨论】:

回应那些关闭问题的人:将这个问题链接到“适当”站点上的相关问题(可能是服务器故障)不是更有效率吗?对于 Web 开发人员来说,DNS 完全是“离题”,这个论点有点弱。我真的认为有太多急于关闭问题。顺便说一句,这是谷歌的***链接。对热门搜索结果进行这种过分热心的“离题”监管,这反映了社区的糟糕表现。 我是一名网络开发人员,想知道如何将没有www 子域的调用重定向到那个位置。 【参考方案1】:

您可以将 www.domain.com 设为 A 记录以及 www.domain.com 的所有其他域名 CNAME。但这只能“解决”如果 www.domain.com 的 IP 地址发生更改,您不必更改其他 DNS 实体,因为它们是别名。

因此,在 DNS 级别上,无法强制执行重定向。并且有一个很好的理由,因为 DNS 不仅仅用于 HTTP。例如,如果对 domain.com 的所有请求都将重定向到 www.domain.com,您的电子邮件地址将更改为 user@www.domain.com。

因此,对于 HTTP 重定向,您必须使用 HTTP 解决方案。这可以在网络服务器级别(mod_rewrite、代码、javascript(呃)等),但您也可以在网络服务器前面有一个代理来处理这个。

【讨论】:

迈克尔,非常感谢!

以上是关于DNS 将 domain.com 重定向到 www.domain.com [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AWS Route 53 中将非 www domain.com 重定向到 www domain.com(WordPress 博客)?

301 将 www.domain 重定向到 domain.com

将 www.domain.com 重定向到 sub.domain.com [重复]

服务到 301 重定向从 domain.com 到 www.domain.com

如何在 Django 下将 domain.com 重定向到 WWW.domain.com?

继续从 www.domain.com 重定向到 domain.com