我正在为我学校的校友会建立一个网站。我myschool.com
从GoDaddy
. 在 GoDaddy 中,我已自定义DigitalOcean
为名称服务器。
我想自定义 DigitalOcean 的 DNS,以便与域相关的所有内容myschool.com
都可以重定向到alumni.myschool.com
. 确切地说,可以满足以下所有条件:
如果在浏览器中输入
alumni.myschool.com
或www.alumni.myschool.com
,我希望 URL 变为alumni.myschool.com
,并且浏览器在我的服务器 IP 中显示我们的关联站点178.62.87.73
。如果输入错误的子域,例如
abc.myschool.com
在浏览器中,我希望 URL 仍然变为alumni.myschool.com
,并且浏览器在我的服务器 IP 中显示我们的关联站点178.62.87.73
。如果只是进入域,即
www.myschool.com
在www.myschool.com
浏览器中,我希望 URL 仍然成为alumni.myschool.com
,并且浏览器在我的服务器 IP 中显示我们的关联站点178.62.87.73
。
由于时差和 DNS 缓存问题,很难尝试和测试设置;很难说这是错误的设置还是只需要等待。
那么谁能给我一个完整的记录列表(A,CNAME ...)来实现这一点?
编辑2:
在第一个答案之后,我添加了 4 个 A 记录.
,它们变成了
@ IN A 178.62.87.73
alumni IN A 178.62.87.73
* IN A 178.62.87.73
*.alumni IN A 178.62.87.73
我在我的服务器中添加了以下服务器块:
server {
listen 80;
listen [::]:80;
server_name myschool.com *.myschool.com;
return 301 $scheme://alumni.myschool.com$requrest_uri;
}
并且服务器alumni.myschool.com
保持不变:
server {
...
server_name alumni.myschool.com;
...
}
结果是 , myschool.com
,www.myschool.com
和abc.myschool.com
都www.abc.myschool.com
可以www.alumni.myschool.com
成功重定向到alumni.myschool.com
。
我认为最需要注意的是,您描述的实际重定向不会在 DNS 中完成。
你可以做这样的事情(最少):
但是,对于您打算使用的实际名称没有明确的记录对于人类同胞来说并不是那么清楚。
为了清楚起见,您可能需要添加:
(仅第一条记录将结束区域顶点下的通配符适用的范围。)
实际上会让你得到你想要的行为的是配置你的网络服务器来为你的请求提供实际内容,
alumni.example.com
对于所有其他example.com
名称,只需重定向 (301) 到相应的alumni.example.com
url。