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

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

所以我有什么:

  1. www.domain.com - 主网站域,所有客户端请求都应该是 重定向到这里
  2. domain.com - 另一个网站入口点 不使用 www 前缀的人,所有请求都应重定向到 www.domain.com
  3. mydomain.com - 替代网站别名,所有 请求应重定向到 www.domain.com
  4. 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 子域的调用重定向到那个位置。

标签: redirect dns cname


【解决方案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(呃)等),但您也可以在网络服务器前面有一个代理来处理这个。

【讨论】:

  • 迈克尔,非常感谢!
猜你喜欢
  • 2014-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-14
  • 2012-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多