2023年,我换了新域名「牡丹」

立泉

七年,这个博客的域名一直是apqx.me,从GoDaddy购买,每年续费168元就可以一直拥有它,而且因为域名的唯一性,它也早已成为我在互联网中独一无二的身份ID,很多信息都和它有关。

apqx当然不是随机的无意义字符,其实是我小时候喜欢的长弓·阿帕奇武装直升机的拼音缩写apq,至于后面的x,是因为当我决定要注册人生第一个域名apq.me的时候意外发现它竟然已经属于别人(明明几个月前还是未注册状态),只能遗憾的在后面加一个x,变成apqx.me

对非开发者,需要补充一些关于域名是什么的简单解释。服务器是现代互联网的基础设施,网站搭建在服务器上,在网络世界里,只能通过IP地址去定位到一台特定的服务器,使用HTTP协议可以在浏览器中输入一串类似http://185.199.109.153:80的数字来访问搭建在IP地址为185.199.109.153的服务器上监听80端口的网站,全是数字很难记对吧,所以才有了域名的概念。

域名可以由字符、数字甚至汉字来组成,有意义的词自然比无规则的数字清晰简洁,比如都熟悉的百度,它的域名是baidu.com,在浏览器中输入就能跳转到百度的网站。这个过程中浏览器其实做了2件事,先去DNS域名服务器查询这个域名对应的IP地址,再去访问这个IP对应的服务器,当然中间会有很多复杂的细节需要更多协议来处理,但简单来说,域名起到的就是这个作用。

由常用词组成的优质域名一直都是不菲的资源,像opera.com这种在域名出现的时候就会被抢注,后来者想要拥有只能高价从原主人那里购买。除最常见的.com之外,近些年也开放了诸如.io.xyz.me.love等很多新的顶级域名,尤其.me非常适合做个人博客,而且相比.com.cn也比较容易捡到“好词”。

牡丹

「牡丹」是一个对我而言十分特殊的词,源于昆曲《牡丹亭》对我的影响,所以真的很幸运,在我之前竟然没有人注册过mudan.me。这个域名相比于抽象中二的apqx.me更有纪念意义,纪念我的整个前青春时代,纪念我从北方到南方的迁徙,纪念我的世界从灰暗向多彩的渐变。

杭州 西湖 日落 夕阳

如此,更换域名势在必行,有2个问题需要解决:

  • 旧域名重定向
  • 搜索引擎重新收录

因为apqx.me真的使用太久了,过去分享出去的链接都是这个域名,我当然希望这些链接在更换域名后依然能跳转到正确页面而不至于直接失效。解决方式有2种,旧域名通过DNSCNAME直接指向新域名,或者用HTTP访问旧域名时插入一次301重定向到新域名。

博客托管在GitHub Pages上,仓库根目录下有一个CNAME文件标明这个网站的域名。配置过自定义域名应该知道,交给它托管的所有网站域名的DNS都指向同一个入口服务器,Pages会在这里检测目标域名,并与它记录的已知域名对比,从而定位到要访问的网站。这种机制下,如果DNS添加一条CNAME记录,把apqx.me指向mudan.me,相当于把apqx.me指向了GitHub Pages的那台入口服务器。服务器检测到目标域名是apqx.me,而在Pages所有仓库的CNAME文件中找不到名为apqx.me的域名,会直接返回404页面,所以这种方式在这种情况下是不可行的。

只剩下另一种方案,但是GitHub Pages并不支持针对HTTP协议进行配置,所以并不能对请求直接返回301重定向。一个思路是在Pages上为apqx.me创建一个空白跳转网站,用JavaScript把来访URL手动跳转到mudan.me。这…倒不是不可以,只是有点“糙”。

车到山前必有路,我使用的是CloudflareDNS服务,众所周知Cloudflare的本职是CDN内容分发网络,只需把DNS解析的Proxy status设置为Proxied就可以使用它的CDN服务。访问apqx.me的流量会先经过Cloudflare再到达托管网站的GitHub Pages,此时Cloudflare作为中间人是能够对经过它的HTTP请求返回301重定向的。

请忽略我在A记录里随意填写的8.8.8.8,因为会配置重定向,HTTP请求永远也不会到达这个IP,所以可以任意填

cloudflare dns

中间人操作需要在Rules中定义。

cloudflare rules 301

settings设为Forwarding URLstatus code301重定向,这样所有类似于apqx.me/path1/path2的请求都会被重定向到mudan.me/path1/path2

cloudflare rules 301

旧域名重定向到新域名,搜索引擎在抓取网页时也能看到301跳转从而收录新域名,但我觉得还是手动向搜索引擎提交一下mudan.me比较好,等URL全部被收录后就可以放心从搜索引擎中删除旧域名了。

apqx.me我会保留一年作为缓冲,之前在微博等地方分享出去的链接会尽可能修改为新域名链接,无论是直接编辑微博还是添加一条提示域名变更的评论。一年后,旧域名不再续费,它不再属于我,重定向也会随之失效,再见了👋。

arrow_upward