You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js基于主机的根路径重写未触发问题求助

解决Next.js子域名重写根路径不生效的问题

你的重写规则在处理带路径的请求(比如sub.example.com/work)时能正常映射到/brand/work,但根路径sub.example.com/无法正确映射到/brand——原因是当:path*匹配空字符串时,目标路径会变成/brand/(带末尾斜杠),而Next.js的路由系统中,/brand/可能会被默认重定向或无法匹配到你实际的/brand页面路由,最终 fallback 到首页。

修正后的重写配置

在next.config.ts中添加一条专门匹配根路径的规则,和原有规则配合使用:

// next.config.ts — fixed version
async rewrites() {
  return [
    // 匹配子域名根路径,直接映射到/brand
    {
      source: "/",
      has: [{ type: "host", value: "sub.example.com" }],
      destination: "/brand",
    },
    // 匹配子域名下的所有带路径请求,映射到/brand下对应路径
    {
      source: "/:path*",
      has: [{ type: "host", value: "sub.example.com" }],
      destination: "/brand/:path*",
    },
  ];
}

说明

  • 第一条规则专门处理sub.example.com/的请求,直接指向/brand,避免了末尾斜杠导致的路由匹配问题。
  • 第二条规则继续处理所有带路径的请求(如sub.example.com/work),保持原有映射逻辑。

重启Next.js开发服务器后,访问sub.example.com/会正确渲染example.com/brand页面,sub.example.com/work会渲染example.com/brand/work页面,且URL保持不变。

内容的提问来源于stack exchange,提问作者Etemire Ewoma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:42:07