答案1
在 example.org 的 DNS 中,你会看到类似以下内容:
example.org. 86400 IN A 127.0.0.1
*.example.org. 86400 IN A 127.0.0.1
example.org. 86400 IN MX mail.example.org
在 example.us 的 DNS 中,您可以镜像上述内容,也可以使用如下 CNAME:
example.us. 86400 IN a 127.0.0.1 ;; shoudln't use CNAME here
*.example.us. 86400 IN CNAME example.org
example.us. 86400 IN MX mail.example.org
然后,您必须告诉您的 Web 和邮件服务器处理第二个域。
在 Apache 中,我会这样做:
#force url's to cannoical Domain name (ie. Remove wwww)
RewriteCond %{HTTP_HOST} !^example\.org$ [NC]
RewriteRule ^/(.*)$ http://example.org/$1 [R=301,L]
对于您的电子邮件服务器,您可以设置一个别名,或者根据您使用的邮件服务器,可能有一个配置指令让其自动为多个域设置别名。
需要澄清的是,您不能仅使用 DNS 进行“重定向”。DNS 仅在域名 (example.org) 和 IP 地址 (127.0.0.1) 之间进行转换。您可以使用 DNS 告诉客户端查看另一个域以获得 IP 地址的最终解析(即使用 CNAME),但在该服务器上运行的服务需要知道如何处理多个域。也就是说,许多服务只关心 IP 地址,因此无需任何额外配置即可处理额外的域,但对于 http 和电子邮件,您通常需要调整每个域的处理方式。
答案2
如果您同时拥有 example.us 和 example.org,只需将两个域上的 DNS 记录设置为指向相同的服务器。在 Web 服务器上,添加虚拟主机或重写规则以捕获 .us 请求并将它们 301 重定向到 .org 名称。在邮件服务器上,将 .us 域添加为 .org 域的别名,人们将能够使用其中任何一个将邮件发送到您的邮箱。
答案3
目前尚不清楚您为什么要这样做,但您可能从错误的层面来解决问题。
答案4
没有“好用的”DNS记录来转发所有子域名。您应该将每条example.us
记录更改为指向 上的相对CNAME example.org
。
MX 10 example.us CNAME mail.example.org.
www.example.us CNAME www.example.org.
不要忘记最后一个点!