如何通过重写规则实现多站点

如何通过rewrite规则进行多站点支持

多站点功能允许你使用重写规则将多个网站合并到一个域名下。直接在 Framer 中管理重写规则,而无需设置自定义反向代理(例如使用 Cloudflare 或 Vercel)。

什么是重写(Rewrites)?

重写可在浏览器中保持原始 URL 可见的同时,显示来自其他 Framer 站点或外部来源的内容,让你能在单一域名下托管多个站点。(相比之下,重定向会更改浏览器中的 URL。)

例如:

  • 你的主站位于 designer.com

  • 你的博客(一个独立的 Framer 项目)可显示在 designer.com/blog

  • 你的文档(托管在外部)可显示在 designer.com/docs

这一切都无缝进行,访客看到的是一个统一的单一域名。

使用场景

组织大型网站 – 将网站拆分为更小、更易管理的项目,便于独立开发和维护。

结合 Framer 与外部工具 – 主站使用 Framer 托管,同时集成商店、文档站点或自定义应用等外部服务。

团队协作 – 允许不同团队独立开发网站的不同部分,避免冲突。

如何设置重写规则

进入 Framer 控制面板,在侧边栏选择你的域名,然后进入 多站点(Multi Site) 标签页。

添加重写规则

  1. 点击 + 图标以添加规则

  2. 选择重写类型:

    • 项目:路由到另一个 Framer 项目

    • 外部:路由到外部网站

  3. 输入你希望内容显示的 路径(例如 /blog/blog/*

  4. 输入 目标

    • 对于项目:选择你的 Framer 项目并指定路径

    • 对于外部:输入外部网站的完整 URL

  5. 点击 添加 保存规则

  6. 发布 你的项目以使更改生效

路径模式

  • 通配符匹配:使用 * 匹配任意路径段
    /blog/* 可匹配 /blog/my-post/blog/2024/update

  • 动态参数:使用 :parameter 表示动态段
    /blog/:slug 可匹配 /blog/my-post 并将 “my-post” 捕获为 slug 值

管理规则

  • 重新排序规则:拖拽调整优先级(规则按顺序执行)

  • 编辑与删除规则:点击 ··· 菜单或右键编辑或移除规则

  • 应用更改:打开并发布你的项目以使更改生效

示例

从外部服务商迁移至 Framer

如果你想将网站迁移到 Framer,但不想一次性重建所有内容,可以逐页迁移。首先在 Framer 中重建关键页面,然后使用重写规则让这些特定路径指向新的 Framer 项目,其余内容仍保留在当前服务商。

路径:/products/*
目标:old-site.com/products/:1

访问 designer.com/products 的用户将看到来自 example.com 的旧网站内容,而你正在重建产品页面。重建完成后,移除该重写规则。

从另一个项目提供博客内容

路径/blog/*
目标another-project/:1

访问 designer.com/blog 的用户将看到来自“Another Project”项目的博客页面。

托管外部文档

路径/docs/*
目标https://docs.yoursite.com/*

这将在 designer.com/docs 显示你托管在外部的文档。

组合多个部分

你可以创建多条规则来整合不同来源:

  • / → 主 Framer 项目

  • /blog/* → 博客项目

  • /help/* → 外部帮助中心

  • /app/* → Web 应用程序

重要注意事项

CMS 集合:对于由 CMS 驱动的页面,重写规则中的集合路径必须与源项目匹配。例如,如果源项目中博客使用 /blog/:slug,则重写路径也应使用 /blog/:slug

本地化:当使用本地化项目与重写时,请确保重写路径与目标之间的区域路径结构一致。

规范 URL(Canonical URLs):在每个项目中设置规范 URL,指向其最终被提供的域名。

站点地图(Sitemaps):Framer 会自动从所有重写来源生成并合并站点地图。

密码保护: 密码保护仅适用于主项目。在目标项目上启用密码保护不会保护通过重写提供的内容。

定价

多站点(Multi Sites)作为附加功能包含在 Scale 计划中,或包含在 Enterprise 计划内。
查看定价

Create a free website with Framer, the website builder loved by startups, designers and agencies.