使用CloudFlare解析主域名和子域名到同一网站
问题
尝试让自己的博客网站唯你支持 google 广告功能,按照2024 年 Adsense 账号注册全攻略进行操作后,在添加网站过程中遇到“网站验证不过”问题,一直卡在“需要审核”状态,“申请审核”按钮灰选,导致没法提交审核。如
原因分析
网站在 cloudflare 自动部署,考虑到将来 only1u.org 主域名根据不同用途会细化多个二级域名,如
- 写博客 使用 blog.only1u.org
- 存储图片 使用 img.only1u.org
所以,博客网站一开始就是用了二级域名,且将 ads.txt 放在 blog.only1u.org 的根目录下。浏览器中中验证可正确访问 ads.txt。
但是 google adsence 要求添加的网址是顶级域名不能是二级域名。导致只能添加 only1u.org 作为网站。google 检测网址过程中会去 only1u.org 的根目录下找 ads.txt。而实际主域名 www.only1u.org 确实也无法访问,自然找不到 ads.txt。
思路探索
有两种思路
- 将现有博客域名 blog.only1u.org 修改成主域名 only1.org,导致后果是已发布出去的其他网站中文章,无法访问到 blog.only1u.org 相关资源。
- 主域名和子域名解析到同一网站https://raynoryim-github-io.pages.dev/,该方式保证已发布文章可以正常访问且又符合 google 广告的顶级域名要求。
显然,第二种靠谱些。
过程中,尝试使用 cloudflare 的重定向规则,将主域名重定向到 blog 子域名下。
参考使用 CloudFlare 解析多域名到同一地址 | oynix, 验证不行,该方案适合修改域名的场景,比如之前申请的域名不喜欢,现在申请域名好些,为保证已发布到外部博客老链接有效,将老博客链接重定向到该新域名链接。
解决方案
相对于 github.io 可以自定义一个域名,发现 cloudflare 可以自定义多个域名,如下
blog.only1u.org 那个是最初添加的,后面两个值为新增加主域名相关的,是为保证 google 广告验证网址所有权时候可以通过。
效果
增加上述两个主域名两个链接后,再到 google 广告网址验证页后就可以进行“申请提交”了,如图
不得不感叹,cloudflare 浑身是包,赛博菩萨!