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

Next.js 14.0.1从Pages路由迁移至App路由后部分页面偶现404

排查增量迁移至App路由后偶发404的根因

1. AWS构建/部署的路由优先级冲突

  • 检查AWS部署流程中,App路由与剩余Pages路由的静态资源/路由规则生成顺序。混合路由模式下,部分构建工具可能出现旧Pages路由的静态文件覆盖App路由的动态路由条目,或路由匹配规则生成顺序错误,导致请求偶尔匹配到不存在的旧路由规则。
  • 查看构建日志,确认每次构建时,App路由的路由清单(如框架的路由配置、AWS Amplify的重写规则)是否被正确生成并覆盖旧规则。偶发问题可能是构建过程中缓存了旧的路由配置,未完全更新。

2. SSR/ISR的缓存不一致问题

  • 若使用了服务器端渲染(SSR)或增量静态再生(ISR),检查AWS边缘节点(如CloudFront)与应用服务器的缓存策略。部分页面的ISR缓存可能未正确失效,导致请求获取到过期的路由映射。
  • 给迁移后的App路由页面临时设置Cache-Control: no-cache缓存头,排查是否还会出现404,验证是否为缓存导致的问题。

3. 边缘路由规则的竞态匹配

  • 检查AWS CloudFront或负载均衡的路由转发规则。混合路由模式下可能存在规则匹配竞态:部分请求被错误转发到已删除文件的Pages路由静态资源目录,引发404。
  • 筛选CloudFront访问日志中出现404的请求,对比请求路径、转发目标,确认是否存在规则匹配错误。

4. 构建工具的增量缓存残留

  • 检查AWS构建环境的依赖缓存或构建产物缓存。比如使用Next.js时,.next目录的增量缓存可能残留旧Pages路由产物,导致部署后部分路由指向不存在的文件。
  • 在构建命令中添加强制清理步骤,比如rm -rf .next && npm run build,排除增量缓存的干扰。

5. 重写/重定向规则的残留

  • 检查应用的重写/重定向规则(如框架的rewrites配置、AWS Amplify的rewrite规则),确认是否存在旧Pages路由的规则未移除,导致请求被重定向到已删除的页面。
  • 逐条测试这些规则,确保所有重定向/重写都指向正确的App路由或现有Pages路由。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 15:24:52