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