根据国家地区自动重定向域名的实现

作者
发表在博客
最后更新

为什么需要根据国家地区重定向域名?

这样的应用场景非常多,以我们遇到的需求为例,由于Cloudflare在中国未提供相关服务,这就使得中国地区的用户访问您的网站会变得缓慢,如果您想在中国开展业务,那么我们的建议在中国建立您的网站。

在中国建立网站需要注意什么?

1.Domain name ICP Licensing
2.云服务器的选择
3.必要的联系人信息

域名的配置

常见的多国语言网站以zhuli.eu为例,网站的URL会根据语言的类型来区分:

1. 英文 https://zhuli.eu/en/
2. 法语 https://zhuli.eu/fr/
3. 简体中文 https://zhuli.eu/zh-CN/
4. 繁体中文 https://zhuli.eu/zh-TW/

那么您可能有所注意:所有的URL都使用了同一个域名 zhuli.eu,而要想在中国地区启动服务,我们需要添加一个例如 zh.zhuli.eu的二级域名来指向中国地区的云服务器IP,当中国用户打开zhuli.eu的时候应该自动跳转到zh.zhuli.eu。

功能的实现

OK,如果您已经做好准备,我们下面开始步入正题教您使用cloudflare Page Rules来实现这一功能。

打开后台并找到Transform Rules,添加一条rule

在这里我把中国,台湾,香港三个地区都设置到规则之内

Rewriteto设置中,我们选择Dynamic,并填入concat("/anythingyouwant", http.request.uri.path)

先创建Transform Rules


点击"Deploy",完成之后我们继续添加Page Rules

创建Page Rules

URL设置中填写  concat("/anythingyouwant", http.request.uri.path) 中的参数

www.zhuli.eu/anythingyouwangt/*

Enter destination URL中添加的是目标URL

zh.zhuli.eu/$1

最后我们点击"Save and Deploy Page Rule"

需要注意的是,如果您有多个Rules,您可以在Page Rules管理页调整优先顺序。