重写在 Vercel(生产中)NextJS 上不起作用

Y M*_*Y M 4 url-rewriting next.js dynamic-routing vercel

我一直在尝试在 NextJS 中为我​​的 API 路径进行重写。这是为了避免 CORS 问题。

我遵循了以下解决方案:NextJs CORS问题。

它可以在本地主机上运行,​​但不能在生产环境中运行(我在 Vercel 本身上部署)。

我基本上尝试了所有类型的重写:

async rewrites() {
    return {
      beforeFiles: [
        {
          source: "/api/:path*",
          destination: `https://example.com/api/v1/:path*`,
          basePath: false,
        },
      ],
      afterFiles: [
        {
          source: "/api/:path*",
          destination: `https://example.com/api/v1/:path*`,
          basePath: false,
        },
      ],
      fallback: [
        {
          source: "/api/:path*",
          destination: `https://example.com/api/v1/:path*`,
          basePath: false,
        },
      ],
    };
  },
Run Code Online (Sandbox Code Playgroud)

此重写在本地主机上有效,但在生产中,重写停止工作并且 API 调用自行进行/api/:path*。

小智 6

该/api路径是为其无服务器功能保留的。将源路径更改为其他路径可以解决该问题。