如何配置Cloudflare Pages处理所有子域名(自定义域名通配符记录)
实现Cloudflare Pages泛域名(*.example.com)指向应用的方案
Cloudflare Pages不支持直接添加泛域名作为自定义域名,但可以通过以下三步实现所有example.com子域名指向你的静态应用:
绑定一个具体子域名到Pages应用
- 在Cloudflare Pages的「自定义域名」页面,添加一个具体的子域名(比如
app.example.com)。 - 到Cloudflare DNS面板,添加CNAME记录:
app.example.com→app-name.pages.dev,等待配置生效并验证该子域名可正常访问应用。
- 在Cloudflare Pages的「自定义域名」页面,添加一个具体的子域名(比如
添加泛域名DNS记录
- 在Cloudflare DNS面板,添加泛域名CNAME记录:
*.example.com→app.example.com(指向刚才绑定好的具体子域名,而非直接指向pages.dev地址)。
- 在Cloudflare DNS面板,添加泛域名CNAME记录:
配置URL改写规则
- 进入Cloudflare控制台的「规则 > 转换规则 > URL改写」,创建新规则:
- 匹配条件:选择「主机名」,运算符设为「匹配正则表达式」,输入
^.*\.example\.com$(匹配所有example.com的子域名)。 - 动作类型选择「改写」,再选择「主机头」,设置值为
app.example.com。 - 保存规则后,所有泛域名的请求会被改写主机头,路由到已绑定的Pages应用。
- 匹配条件:选择「主机名」,运算符设为「匹配正则表达式」,输入
- 进入Cloudflare控制台的「规则 > 转换规则 > URL改写」,创建新规则:
如果你的应用不需要识别原请求的子域名,也可以用「转发URL」规则,将*.example.com/*永久转发到app.example.com/$1,不过改写主机头的方式能保留原请求的子域名信息,适合需要根据子域名做逻辑处理的场景。
内容的提问来源于stack exchange,提问作者dovid
相关产品推荐
相关产品推荐

