我正在为学校的校友会建立一个网站。我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
答案1
我认为最重要的是要注意您描述的实际重定向不会在 DNS 中完成。
你可以做这样的事情(最低限度):
example.com. IN A 178.62.87.73
*.example.com. IN A 178.62.87.73
然而,如果没有明确记录您打算使用的实际名称,那么人类同胞就不会清楚。
为了更加清楚起见,您可能需要添加:
alumni.example.com. IN A 178.62.87.73
*.alumni.example.com. IN A 178.62.87.73
(仅第一条记录就会结束区域顶点下方通配符适用的范围。)
真正能让你获得所需行为的方法是配置你的网络服务器来为请求提供实际内容,alumni.example.com
对于所有其他example.com
名称,只需重定向(301)到相应的alumni.example.com
url。