我通过Google Domains购买了一个域,并且将我的应用托管在Heroku上。
我希望用户能够通过裸域访问我的应用程序,但是Google Domains不允许为裸域设置CNAME。它们具有允许“子域转发”的选项,但是,如果设置了该选项,则将删除URL路径。
例如,如果我为裸域设置了“子域转发”,然后转到example.com/123
,它将用户重定向到example.com
。
如何转发域和路径?
我通过Google Domains购买了一个域,并且将我的应用托管在Heroku上。
我希望用户能够通过裸域访问我的应用程序,但是Google Domains不允许为裸域设置CNAME。它们具有允许“子域转发”的选项,但是,如果设置了该选项,则将删除URL路径。
例如,如果我为裸域设置了“子域转发”,然后转到example.com/123
,它将用户重定向到example.com
。
如何转发域和路径?
Answers:
我花了一段时间,但我想出了这个。这是一个两步过程(也许有其他方法可以这样做,但这也适用于AWS):
1)使用CNAME记录将您设置www.example.com
为转发到真实的主机名。
2)要配置裸域,请添加“合成记录”,然后设置“子域转发”。在子域文本框中,输入@
符号,然后再输入其他任何内容。
3)选择“前进路径”选项。那应该做您想要的。
到目前为止,这是不可能的,但是Google Domains有5天的退货政策,一旦退还,该域将立即可以从其他注册商处购买。
https://support.google.com/domains/answer/6000754
如果这是关键需求,则可以退还域名并从GoDaddy购回,后者提供了裸域转发。
https://support.godaddy.com/help/article/422/manually-forwarding-or-masking-your-domain-name
子域转发现在具有“转发路径”选项。
Rod Michael Perez指出,这是唯一对我有用的东西。
https://support.google.com/a/answer/2518373?hl=zh_CN
简而言之,您可以转到Google管理控制台>域>添加/删除域来更改裸域的重定向方式。然后,对于特定域,请使用“更改重定向链接”来重定向裸域。例如,您可以使用“ www”。请务必按“保存更改”以使其生效。
如果您只有一个域,则以下链接可能会有所帮助。
https://admin.google.com/DomainSettingsChangeNakedRedirect
现在,您必须使用凭据进入域DNS管理控制台,并为“ www”添加A记录,并将其指向您的IP。由于某些原因,标记为“ @”的裸A记录必须包含在DNS区域中。删除任何现有的CNAME“ www”记录。
现在,通过使用裸域测试重定向。
我希望这可以使某人节省3到4个小时来解决这个问题。
只需创建一个.htaccess
文件:
# Rewrite EVERYTHING to the new domain
RewriteRule ^(.*)$ newDomain.ext/$1 [R=301,L]
$1
具有的值。您可以根据自己的喜好进行更多调整。但是,再次,我建议您在问题中添加一些示例
在域仪表板下,您可以设置裸域的处理方式,也可以将裸域重定向到所需的页面。
您可以在此处查看分步详细信息:https : //support.google.com/a/answer/2518373?hl=zh_CN
在子域转发下还可以使用其他选项。首先,将CNAME添加到综合记录列表中。然后,从您拥有的综合记录列表中选择一个“转发子域”。在这种情况下,您想选择刚刚添加的CNAME。您也可以根据需要添加和编辑综合记录。打开路径转发和其他选项。
您可以在此处查看详细信息:https : //support.google.com/domains/answer/6072198?hl=zh_CN