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

Next.js 13.2.1部署环境API路由404错误解决咨询

解决Next.js 13.2.1部署后API路由404问题

针对你遇到的本地API路由正常、部署后/api/md返回404的问题,按以下步骤排查:

  • 检查部署平台的文件识别情况
    查看部署平台的构建日志,确认src/pages/api/md/index.ts是否被正常打包。部分平台默认支持src/pages目录,但如果部署配置中排除了该目录,会导致API路由缺失。

  • 排查路径大小写问题
    服务器环境多为Linux(大小写敏感),本地Windows/macOS默认不敏感。确认部署后的目录、文件名大小写与本地完全一致(比如md目录不能写成MD),大小写不匹配会直接导致404。

  • 验证next.config.js配置
    确保pageExtensions包含API路由的文件扩展名,正确配置示例:

    /** @type {import('next').NextConfig} */
    const nextConfig = {
      pageExtensions: ['ts', 'tsx', 'js', 'jsx'],
    }
    module.exports = nextConfig
    

    同时检查是否存在rewrites或redirects配置,避免意外覆盖/api/md路由。

  • 确认构建命令正确性
    部署时必须使用next build命令生成生产构建包,若自定义了构建命令(比如跳过了某些步骤),可能导致API路由未被编译。

  • 检查API路由代码的环境兼容性
    本地正常不代表部署环境兼容:

    • 确认代码中用到的环境变量在部署平台已正确配置,缺失变量可能导致路由初始化失败。
    • 在API路由中添加简单日志(如console.log('API md route loaded')),查看部署平台的服务器日志,确认该路由是否被加载。
  • 清理部署缓存并重新部署
    部分平台会缓存旧构建结果,尝试清理缓存后重新触发部署,确保最新的API路由被打包部署。

  • 确认Pages Router是否被正常启用
    你使用的是Pages Router(src/pages/api目录),Next.js 13默认兼容Pages Router,但如果next.config.js中有experimental.appDir: true配置,需确保Pages Router未被禁用(默认不会)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 15:43:21