我的主要域名是example.com
,但也购买了example.org
和example.net
。我已将 的网络服务器配置为*.example.com
处理来自其他域的请求并将它们正确重定向到example.com
,但我不想重新配置 和 的所有 DNS 记录,使其example.org
与example.net
相同example.com
。
除了编写一些丑陋的同步脚本之外,我还应该做些什么才能让 route53 使用来自“主”域的相同数据来回答针对我的“其他”域的查询?
答案1
我也遇到过同样的情况。您是否考虑过简单的 URL 重定向服务?您是否希望将 *.org 和 *.net 重写为 *.com 地址?
如果是这样,那么在注册商级别进行重定向似乎是最干净的解决方案。
另请参阅:
在 DNS 级别将所有流量从 http://example.com 重定向到 http://www.example.com
和
如何在 Amazon Route53 中设置基于 DNS 的 URL 转发?
答案2
这是我们一位客户的常见要求。他们通常会购买 10-15 个与活动相关的域名,其中一个将是所有其他域名指向的“根”域名。@ewwhite 说得对,最干净的解决方案是仅为根域名设置 DNS,而仅在注册商级别使用转发来处理所有其他域名。
但要明确的是:无法使用 Route53 进行这样的重定向,也无法在域名本身中使用通配符。
如果您可以控制自己的事情,我建议将所有“额外”域指向可以运行 Apache 或 NGINX 的服务器的 IP,然后创建一个具有简单配置的站点(它根本不需要 webroot)来监听所有这些名称并自动重定向。
在 Apache 中,在此站点的 <VirtualHost *:80> 部分中,只需要三行:
ServerName mydomain.com
ServerAlias *.mydomain.* myotherdomain.* *.myotherdomain.* yetanotherdomain.*
Redirect 301 / http://mymaindomain.com/
在 NGINX 中,你可以在服务器声明中更轻松地完成此操作:
server {
server_name mydomain.com ~^(www\.)?(mydomain.+)$;
rewrite ^ http://mymaindomain.com/;
}
我还应该指出,像这样运行自己的重定向的一个很酷的优势是,您可以解析日志并获得有关有多少人通过这些不同路径访问您的网站的合理分析。我甚至知道一些公司使用不同的域名来播种不同的受众(或营销渠道),这样他们就知道谁会以每个名称进入。在这种情况下,您可能希望在上面的 Apache 配置中将其设为 303 重定向。