我正在为我校校友会build立一个网站。 我从GoDaddy购买了一个域myschool.com 。 在GoDaddy中,我将DigitalOcean作为名称服务器进行了定制。
我想定制DigitalOcean的DNS,以便与域myschool.com相关的所有内容都可以redirect到alumni.myschool.com 。 确切地说,所有以下都可以实现:
如果在浏览器中inputalumni.myschool.com或www.alumni.myschool.com ,我希望url成为alumni.myschool.com ,浏览器在我的服务器IP 178.62.87.73显示我们的网站。
如果在浏览器中input错误的子域名(例如abc.myschool.com ,我希望URL仍然成为alumni.myschool.com ,浏览器在我的服务器IP 178.62.87.73显示我们的关联网站。
如果只是在浏览器中input域名,即www.myschool.com或www.myschool.com ,我希望URL仍然成为alumni.myschool.com ,浏览器显示我们服务器IP中的关联网站178.62.87.73 。
由于时差和DNScaching问题,很难尝试和testing一个设置; 很难说这是一个错误的设置还是需要等待。
那么有没有人能给我一个完整的logging列表(A,CNAME …)来实现这一点?
编辑2:
在第一个答案之后,我加了4个Alogging. ,他们变成了
@ 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都可以被成功地redirect到alumni.myschool.com 。
我认为最重要的是要注意的是,您所描述的实际redirect不会在DNS中完成。
你可以做这样的事情(最低限度):
example.com. IN A 178.62.87.73 *.example.com. IN A 178.62.87.73
但是,没有明确logging你打算使用的实际名字对于同胞来说并不是那么清楚。
为了清楚起见,您可能需要添加:
alumni.example.com. IN A 178.62.87.73 *.alumni.example.com. IN A 178.62.87.73
(单独的第一条logging将结束区域顶点正下方的通配符适用的范围。)
什么会实际上得到你想要的行为是configuration你的Web服务器服务于您的实际内容的请求alumni.example.com和所有其他example.com名称只是redirect(301)到相应的alumni.example.comurl。