在Netlify平台部署多模块站点时,利用根目录文件夹拆分不同业务内容,配合重定向规则可以快速实现子域名的配置,不需要复杂的DNS额外操作,适合大多数静态站点的多域名管理需求。

前置准备
首先需要在Netlify上已经绑定了主域名,比如主域名是ipipp.com,后续要配置的子域名比如blog.ipipp.com、docs.ipipp.com都需要提前在域名服务商的DNS解析中添加对应的CNAME记录,指向Netlify提供的默认域名。
根目录文件夹规划
将项目根目录按照不同的子域名模块拆分对应的文件夹,比如要配置blog子域名,就创建blog文件夹存放博客相关的所有静态文件,要配置docs子域名就创建docs文件夹存放文档相关内容。假设项目结构如下:
project-root/ ├── blog/ # 博客模块内容 │ ├── index.html │ └── post1.html ├── docs/ # 文档模块内容 │ ├── index.html │ └── guide.html ├── index.html # 主域名根目录内容 └── netlify.toml # Netlify配置文件
配置重定向规则
Netlify支持通过netlify_toml配置文件设置重定向规则,我们可以针对不同子域名的请求路径,映射到对应的根目录文件夹内容。打开项目根目录下的netlify_toml文件,添加如下配置:
# 配置blog子域名映射到blog文件夹 [[redirects]] from = "https://blog.ipipp.com/*" to = "/blog/:splat" status = 200 force = true # 配置docs子域名映射到docs文件夹 [[redirects]] from = "https://docs.ipipp.com/*" to = "/docs/:splat" status = 200 force = true
这里的:splat是通配符,会匹配子域名请求路径中的所有后续部分,比如请求https://blog.ipipp.com/post1.html时,会自动映射到项目根目录下的/blog/post1.html文件。
部署与验证
将修改后的项目推送到关联的Git仓库,Netlify会自动触发部署流程,等待部署完成后就可以验证配置是否生效。可以通过浏览器直接访问对应的子域名,比如访问https://blog.ipipp.com,如果能正常显示blog文件夹下的index.html内容,说明配置成功。
如果访问出现404错误,可以检查以下几个方面:一是DNS解析是否生效,CNAME记录是否正确指向Netlify的默认域名;二是netlify_toml文件的语法是否正确,重定向规则的from和to路径是否匹配;三是根目录下的对应文件夹是否存在,且内部有正确的静态文件。
注意事项
- 重定向规则中的status设置为200表示内部重写,用户浏览器地址栏显示的还是子域名路径,不会跳转到根目录路径,符合子域名的使用预期。
- 如果需要将主域名的某个路径重定向到子域名,比如将
https://ipipp.com/blog/*重定向到https://blog.ipipp.com/*,可以添加额外的重定向规则,status设置为301即可。 - 如果后续新增其他子域名模块,只需要按照同样的规则创建对应的根目录文件夹,再添加对应的重定向规则即可,不需要修改其他配置。
注意:如果项目使用的是Netlify的UI界面配置重定向,也可以在站点的设置中找到重定向规则选项,手动添加对应的规则,效果和配置文件一致。
Netlify子域名配置重定向规则根目录文件夹netlify_toml修改时间:2026-06-19 01:36:46