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

为何自定义域名下Next.js站点用SSR,Vercel默认域名用客户端渲染?

问题原因排查与解决方案

先从最常见的可能性逐一排查:

确保你用的是相对路径,比如:

<Link href="/en/another-page">跳转</Link>

如果写成带完整域名的绝对路径(比如https://www.boonwegig.com/en/another-page),Next.js会判定为外部链接,直接触发页面重载,不会走客户端路由逻辑。这是最容易踩的坑,优先检查这个。

2. 自定义域名的Vercel配置与DNS解析

  • 确认Vercel项目的「Domains」页面已正确添加www.boonwegig.com,状态显示「Active」,且SSL证书生效(域名前有安全锁标)。Vercel会自动配置Let's Encrypt证书,若证书未生效,可能导致客户端路由逻辑异常。
  • 检查DNS解析记录:www.boonwegig.com需设置CNAME记录指向cname.vercel-dns.com;如果是根域名,要设置A记录指向Vercel的IP(76.76.21.21)。解析错误会导致流量未正确路由到Vercel边缘节点,客户端路由无法正常工作。
  • 可以用nslookup www.boonwegig.com命令验证解析结果,确认指向Vercel服务器。

3. 缓存与资源加载问题

自定义域名可能存在旧缓存,导致Next.js客户端路由脚本(如_next/static/chunks下的文件)未正确加载:

  • 打开Chrome开发者工具「Network」面板,刷新页面后检查所有_next开头的资源是否返回200状态,且来源为Vercel服务器。
  • 强制清除浏览器缓存(Ctrl+Shift+R),或在Vercel部署页面触发重新部署,确保最新客户端代码分发到自定义域名。

4. Next.js路由配置与部署模式

Next.js 14默认使用App Router,确认你的路由结构符合规范(页面组件放在app/目录下),未混合使用Page Router配置。另外,若项目的next.config.js设置了basePath或assetPrefix,要确保这些配置在自定义域名下生效。

5. 浏览器扩展干扰

部分广告拦截、隐私类浏览器扩展可能阻止Next.js客户端路由脚本运行,导致页面重载。可以在Chrome隐身模式下测试,若隐身模式下正常,说明是扩展问题,需排查禁用相关插件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 19:26:05