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

Next.js Rewrites本地正常,部署到Vercel后失效问题求助

解决Next.js重写规则在Vercel部署后失效的问题

你的需求是通过Next.js的rewrites配置,让访问/sell及/sell/*路径时转发到外部站点www.anotherWebsite.com/sell,本地正常但Vercel部署后失效,可按以下步骤排查修复:

1. 调整重写规则的匹配顺序

Next.js的rewrites规则是按从上到下的顺序匹配,你的原配置中第一条规则/:path*会优先匹配所有路径(包括/sell),导致后面的/sell规则根本不会被触发。

修正后的配置要把/sell相关规则放在最前面:

module.exports = {
  async rewrites() {
    return [
      // 先匹配/sell相关路径
      {
        source: '/sell',
        destination: 'https://www.anotherWebsite.com/sell',
      },
      {
        source: '/sell/:path*',
        destination: 'https://www.anotherWebsite.com/sell/:path*',
      },
      // 最后匹配其他所有路径
      {
        source: '/:path*',
        destination: '/:path*',
      },
    ]
  }
}

2. 检查环境变量配置(如果使用NEXT_PUBLIC_APP_URL)

如果坚持用环境变量NEXT_PUBLIC_APP_URL,需确保:

  • Vercel项目的环境变量设置中已添加该变量,值为https://www.anotherWebsite.com(必须带https://,不能有末尾斜杠)
  • 部署时触发完整构建,确保新的环境变量生效(手动重新部署一次可避免缓存问题)

3. 验证Vercel部署后的规则生效

部署完成后,可通过Vercel项目控制台的Functions→Rewrites查看已生效的重写规则,确认/sell相关规则存在且顺序正确。如果规则未显示,检查next.config.js的语法是否正确(比如是否漏写module.exports =)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:10:37