使用 Cloudflare 重定向域名

本文讲述如何使用Cloudflare将a.com重定向到b.com。只需将前者的DNS名称服务器停放在Cloudflare。

以下方法任选其一即可。

重定向规则法

利用Cloudflare提供的规则->重定向规则对域名进行重定向跳转。在设置好重定向规则后,Cloudflare内部其实是通过Cloudflare Workers实现的域名重定向,但不占用账号Workers的请求数配额。

重定向规则文档:https://developers.cloudflare.com/rules/url-forwarding

添加DNS解析

先为a.com添加指向b.comCNAME解析记录,注意一定要开启小黄云!

(为什么要开小黄云?因为开启了之后域名解析才走的是Cloudflare,才能使用Cloudflare Workers进行重定向)

编写重定向规则

在域名下的规则处,点击重定向规则创建规则

按如下图所示字段进行填写,根据需要选择重定向状态码(不常见的303,307,308等状态码,见此文档)。

其中,URL重定向那里的URL,选择动态并填写

1
concat("https://b.com", http.request.uri.path)

是为了能让域名重定向之后的路径不变,例如访问https://a.com/test/example能重定向到https://b.com/test/example
如果不想继承原来的路径,选择静态并填写https://b.com即可。

填好后,点击页面右下角的部署即可生效。

Cloudflare Pages 法

Cloudflare免费版每个域名只支持10个重定向规则,使用Cloudflare Pages重定向能为更多的子域名进行重定向。此方法不会消耗账号Pages每天的Functions配额。

Pages重定向文档:https://developers.cloudflare.com/pages/configuration/redirects

准备 _redirects 文件

本地新建一个名为_redirects的无文件后缀名的文件,在里面填入例如:

1
/* b.com/:splat

这样跟上面重定向规则法中起到的作用一样。所有可用参数见此:https://developers.cloudflare.com/pages/configuration/redirects/#advanced-redirects

写好文件后,直接将其压缩成.zip文件。

上传到Pages

在账号的Pages中,新建一个Pages,上传资产,选择上传压缩文件。

部署站点完成后,如下图所示添加自定义域名后,即可生效。

可以使用 在线HTTP状态检测工具 来检查重定向是否有效和符合预期。