将所有 .US DNS 请求重定向至 .ORG

将所有 .US DNS 请求重定向至 .ORG

如何在 DNS 中将所有 A 和 MX 记录从 example.us 重定向到 example.org?

所以:

谢谢

答案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.

不要忘记最后一个点!

相关内容