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

时间:2013-03-02 08:22:22

标签: redirect dns cname

我已经针对这个问题进行了网络搜索,但对结果完全失望了。该案例是将所有请求重定向到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
  5. 我理解这可以使用.htaccess和PHP。但我想弄清楚如何只使用DNS来完成这项工作。我也理解DNS查询的结果不会改变HTTP层中发生的事情,因此最初输入的域名将始终是发送到主机中的Web服务器的域名。因此,要将domain.com重写为www.domain.com,我仍然需要Apache mod_rewrite。但我想用DNS做主要工作(CNAME和A记录)。

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

1 个答案:

答案 0 :(得分:49)

您可以将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(ugh)等等。)但你也可以在你的网络服务器前面有一个代理来处理这个问题。