Build Output API 通配符(Wildcard)域名路由实战:基于域名的多语言静态站点分发
Build Output API 通配符Wildcard域名路由实战基于域名的多语言静态站点分发【免费下载链接】examplesEnjoy our curated collection of examples and solutions. Use these patterns to build your own robust and scalable applications.项目地址: https://gitcode.com/GitHub_Trending/examples1/examples导读本指南聚焦 Vercel Build Output API 的wildcard通配符路由能力通过 build-output-api/wildcard 预构建Prebuilt示例讲解如何让多个域名或子域名指向同一个 Deployment并根据请求的域名把流量路由到不同的静态页面。读完本文你将掌握wildcard配置的完整写法、$wildcard占位符的引用方式并能独立实现一个部署、多语言子域名的典型场景。示例概览Domain-Based Routing基于域名的路由这是本仓库 build-output-api 目录下 11 个 Build Output API 预构建示例之一。该示例的在线演示地址为https://build-output-api-wildcard.vercel.sh访问主域名会得到一个包含四个语言子域名入口的索引页en.build-output-api-wildcard.vercel.sh→ 英文Englishes.build-output-api-wildcard.vercel.sh→ 西班牙语Españolfr.build-output-api-wildcard.vercel.sh→ 法语Françaispt.build-output-api-wildcard.vercel.sh→ 葡萄牙语Português四个子域名全部指向同一个Deployment却各自渲染出对应语言的页面。索引页实现位于 .vercel/output/static/index.html四个语言页面分别是english.html、spanish.html、french.html、portuguese.html均存放在 .vercel/output/static/ 目录下。核心原理wildcard 配置如何工作在 Build Output API 中.vercel/output/config.json是预构建项目的路由配置文件。其中的wildcard配置允许你声明任意数量的域名或子域名这些域名指向同一个 Deployment但会根据实际请求的域名路由到特定的页面。最常见的用途就是本文示例所展示的基于域名提供本地化多语言内容版本。其工作流程如下请求到达平台后系统将请求的域名与wildcard数组中的domain字段逐一匹配命中匹配时该条目的value会被注入到路由配置中路由配置通过$wildcard占位符引用这个值实现动态路由。$wildcard占位符有两种典型用法按文件名路由到静态文件如本例所示把 wildcard 值拼进dest路径指向对应的静态 HTML作为查询字符串参数追加把 wildcard 值作为 query-string 参数传给 Edge Function 或 Serverless Function在函数内根据该值做业务分发。完整配置逐行解析本示例的完整配置如下文件.vercel/output/config.json{ version: 3, wildcard: [ { domain: en.build-output-api-wildcard.vercel.sh, value: english }, { domain: es.build-output-api-wildcard.vercel.sh, value: spanish }, { domain: fr.build-output-api-wildcard.vercel.sh, value: french }, { domain: pt.build-output-api-wildcard.vercel.sh, value: portuguese } ], routes: [{ src: /, dest: /$wildcard.html }] }version: 3声明项目遵循 Build Output API v3 规范这是使用wildcard配置的前提。整个 build-output-api 目录下的示例均为符合 Build Output API 规范的预构建Prebuilt项目。wildcard数组数组中的每个对象由两个字段组成字段含义本示例取值示例domain需要匹配的完整域名含子域名请求命中该域名时触发路由en.build-output-api-wildcard.vercel.shvalue匹配后注入到路由中的字符串供$wildcard占位符引用english、spanish、french、portuguesevalue并不要求与文件名一致它只是一个映射键——例如你可以把value设为us、de、jp之类的代码再在routes中把它映射到任意目标。routes与$wildcard占位符routes: [{ src: /, dest: /$wildcard.html }]src: /匹配站点根路径的请求dest: /$wildcard.html把请求重写rewrite到$wildcard占位符展开后的路径。当用户请求fr.build-output-api-wildcard.vercel.sh时匹配到domain: fr.build-output-api-wildcard.vercel.sh、value: french于是请求被重写到/french.html最终由 .vercel/output/static/french.html 响应。静态文件目录预构建输出的存放约定与 Next.js 等框架项目由构建工具自动产出不同Build Output API 项目要求开发者自行把产物放进约定目录。本示例的输出目录结构为build-output-api/wildcard/ └── .vercel/output/ ├── config.json # 路由与 wildcard 配置 └── static/ # 静态资源目录 ├── index.html ├── english.html ├── spanish.html ├── french.html └── portuguese.html.vercel/output/static/是 Build Output API 存放静态文件的约定目录config.json中的routes路由目标即相对于该目录解析。各语言页面均为极简的纯文本 HTML例如 english.html 内容为This page was served in englishspanish.html 为Esta página fue servida en españolfrench.html 为Cette page a été servie en françaisportuguese.html 为Esta página foi veiculada em português。它们体积小巧、职责单一非常适合作为演示 wildcard 路由命中效果的载体。部署方式这类预构建项目无需任何框架构建流程直接使用 Vercel CLI 即可部署。根据 build-output-api 总览文档 的说明在示例目录内执行vercel deploy --prebuilt--prebuilt标志告诉 CLI 跳过构建阶段直接使用仓库中已有的.vercel/output目录内容进行部署。部署前请确保已安装并登录 Vercel CLI将config.json中声明的子域名如en.build-output-api-wildcard.vercel.sh正确绑定到该 Deployment域名解析已生效使请求能够到达对应部署。部署完成后即可通过不同子域名访问同一部署下的不同语言页面验证基于域名的路由效果。扩展思路从静态页面到动态分发虽然本示例只演示了静态文件路由但$wildcard占位符的能力不止于此。将 wildcard 值作为查询参数传递给函数即可扩展出更复杂的业务逻辑例如{ version: 3, wildcard: [ { domain: en.example.com, value: en }, { domain: de.example.com, value: de } ], routes: [ { src: /api/hello, dest: /api/hello?lang$wildcard } ] }这样Edge Function 或 Serverless Function 便能在运行时读取lang参数依据语言代码动态返回本地化内容或调用对应语种的第三方服务。从源码结构看本仓库的 build-output-api 目录还收录了 routes、serverless-functions、edge-functions 等示例可与本示例组合阅读理解路由规则与函数分发的完整能力边界。小结通过wildcard配置与$wildcard占位符Vercel Build Output API 让单部署、多域名、按域名分发成为一行配置即可完成的工作wildcard负责域名 → 值的映射routes负责值 → 目标的转发。本示例以四个语言子域名为载体完整演示了该机制从配置文件到静态文件命中的全过程是构建多语言站点、地域化落地页等场景的可靠参考范式。【免费下载链接】examplesEnjoy our curated collection of examples and solutions. Use these patterns to build your own robust and scalable applications.项目地址: https://gitcode.com/GitHub_Trending/examples1/examples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

YOLOv8+无人机松材线虫病智能检测实战指南

YOLOv8+无人机松材线虫病智能检测实战指南

1. 项目概述:为什么松材线虫病害检测必须用YOLOv8无人机组合?松材线虫病——这个被林业部门称为“松树癌症”的毁灭性病害,传播快、致死率高、早期症状极难肉眼识别。我跑过浙江丽水、安徽黄山、江西井冈山三地的林场,亲眼见过整片…

2026/9/18 12:35:31 阅读更多 →
电-热-气-氢多能耦合综合能源系统 Wasserstein 分布鲁棒优化调度研究(Matlab代码实现)

电-热-气-氢多能耦合综合能源系统 Wasserstein 分布鲁棒优化调度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/9/18 12:35:31 阅读更多 →
征收前期摸查测量实施方案:从坐标基准到质检流程全拆解

征收前期摸查测量实施方案:从坐标基准到质检流程全拆解

简介:《征收前期摸查项目测量实施计划方案》是一份面向土地征收、测绘及地籍管理领域的技术文件,为征地前期的测量、摸查与清点工作提供了系统完整的工作计划与技术路径。方案以1:2000土地利用现状调查、1:500地形测量和地籍测量为主线,详细规…

2026/9/18 12:35:31 阅读更多 →

最新新闻

网站建设业务板块名称完整流程

网站建设业务板块名称完整流程

告别改需求拖一周,从零搭建安全官网的5步实操 改个按钮颜色建站公司拖一周?这种被外包“绑架”的日子该结束了。很多老板觉得网站上线就是终点,其实只是起点。真正的噩梦往往发生在上线后:被黑、被拖慢、甚至因为安全漏洞导致数据泄露,这时候再找外包,对方往往推诿扯皮,要么加价,要么说“这不在合同范围内”。…

2026/9/18 13:23:19 阅读更多 →
FastStream Redis List 发布实战:用 `@broker.publisher(list=...)` 构建 List 消息管道

FastStream Redis List 发布实战:用 `@broker.publisher(list=...)` 构建 List 消息管道

FastStream Redis List 发布实战:用 broker.publisher(list...) 构建 List 消息管道 【免费下载链接】faststream Asynchronous Python framework for event-driven services. A thin client for Kafka, RabbitMQ, NATS, Redis and MQTT with full access to native…

2026/9/18 13:22:50 阅读更多 →
相机标定全流程:内参矩阵、畸变系数与重投影误差详解

相机标定全流程:内参矩阵、畸变系数与重投影误差详解

简介:这份相机标定实验报告面向计算机视觉初学者与需完成相关课程设计的学生,系统讲解了从传统标定、自标定到张正友标定方法的原理对比,并围绕内参、外参、单应矩阵、畸变系数等核心概念,给出完整的推导过程与基于OpenCV的实现步…

2026/9/18 13:22:50 阅读更多 →
虾壳云一键部署的 OpenClaw v2.7.9,Gateway 在线后模型通道改走 TaoToken 兼容通道行不行?

虾壳云一键部署的 OpenClaw v2.7.9,Gateway 在线后模型通道改走 TaoToken 兼容通道行不行?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 13:22:50 阅读更多 →
Spack 中的 Ruby 构建系统(RubyPackage)完全指南:从 gemspec 源码到预打包 gem 的安装

Spack 中的 Ruby 构建系统(RubyPackage)完全指南:从 gemspec 源码到预打包 gem 的安装

Spack 中的 Ruby 构建系统(RubyPackage)完全指南:从 gemspec 源码到预打包 gem 的安装 【免费下载链接】spack A flexible package manager that supports multiple versions, configurations, platforms, and compilers. 项目地址: https:…

2026/9/18 13:22:50 阅读更多 →
Python调用C++终极对比:pybind11、ctypes与C API选型指南

Python调用C++终极对比:pybind11、ctypes与C API选型指南

我们团队最早被这个问题逼疯,是在给一个计算几何库做 Python 接口的时候。算法部分全是 C,性能敏感,但整个验证和测试流程又都跑在 Python 生态里。一开始图省事,用 subprocess 调命令行工具,把结果写文件再让 Python …

2026/9/18 13:22:50 阅读更多 →

日新闻

Matlab手写逻辑回归:从数学原理到多变量概率预测模型实现

Matlab手写逻辑回归:从数学原理到多变量概率预测模型实现

很多朋友第一次看到"逻辑回归"这四个字,第一反应就是——这玩意儿是个回归模型吧?我当年也是在Matlab里跑完一段代码,看着输出的0.73、0.86这种概率值,才回过神来:这家伙其实是披着回归外衣的分类神器&#…

2026/9/18 0:00:28 阅读更多 →
高值医用耗材研报PDF:用Python完成字段抽取、清洗与趋势预测

高值医用耗材研报PDF:用Python完成字段抽取、清洗与趋势预测

简介:这份报告是2023-2028年高值医用耗材行业调研及发展前景趋势预测报告,面向医疗器械企业管理者、投资机构、行业研究人员及关注政策变化的从业者,用于把握行业监管动向、市场格局与未来趋势。报告以PDF格式呈现,共1个文件、整体…

2026/9/18 0:00:28 阅读更多 →
三维高斯场赋能世界模型:几何语义蒸馏与机器人决策实战

三维高斯场赋能世界模型:几何语义蒸馏与机器人决策实战

先把我自己的背景交代一下:我之前在搞具身智能和机器人导航相关的项目,很长一段时间里都被“环境表示”这件事卡着。传统做法是用点云或者网格做几何建模,语义信息另外再跑分割模型,两套东西各管各的,时间一长就会发现…

2026/9/18 0:00:28 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/16 19:03:19 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/17 7:57:36 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/17 10:19:14 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/15 21:39:18 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →