用 CloudFalre 的域名重定向来做这件事情,已经有人写过教程了。我这里放两篇文章:
为 xlog 实现多域名绑定
xlog 不支持多域名添加解决方法
这两篇教程,一个使用 CloudFlare Page Rules 实现,另一个直接使用 CloudFlare Pages 做跳转。
不过 CloudFlare 其实有 Redirect Rules 专门做重定向规则,不过网上的资料比较少,尤其是动态重定向的表达式这块。
下面是一个使用例子,目的是将www.miku.show
重定向到miku.show
,并保留路径与查询字符串。
Redirect Rules 规则#
- Rule name: 随便
- When incoming requests match: Custom filter expression
- Field: Hostname
- Operator: equals
- Value: www.miku.show
- Then
- Type: Dynamic
- Expression:
concat("https://", "miku.show", http.request.uri)
- Status code: 301
- Preserve query string: 不勾选,因为查询字符串已包含在
http.request.uri
中
然后保存规则。
设置 Proxy#
虽然设置了重定向规则,但是现在 www.miku.show 还不能重定向到 miku.show。你需要让 www.miku.show 的流量经过 CloudFlare 的 Proxy(不知道我描述的是否准确)。
进入 DNS 解析,给 www 设置一个 A 解析记录,解析值随便填,我这边填的是 1.1.1.1,这个值没什么影响。但是一定要开启 Proxy(打开小黄云)。
添加解析之后,就可以正常重定向了。现在: