在 vercel 中部署后中间件无法工作

问题描述 投票:0回答:1

您好,我正在为我的博客使用无头 cms“next-wordpress-starter”,并添加了一个中间件来处理来自“x”站点的流量,并将其重定向回该站点。在本地环境中它工作完美,但是当我部署在 vercel 中时它显示此错误: 500内部服务器错误 代码:EDGE_FUNCTION_INVOCATION_FAILED

import { NextResponse } from 'next/server';

export function middleware(req) {
  let referrer_path1 = req.referrer;
  console.log(referrer_path1);
  if (referrer_path1.includes('x-domain')) {
    let redirect_url = `https://x-domain/${req.nextUrl.pathname}`;
    return NextResponse.redirect(redirect_url);
  }
  return NextResponse.next();
}

是 vercel 方面的问题还是这种路由有其他解决方案吗?

next.js vercel headless
1个回答
0
投票

我也面临同样的问题,如果你刷新页面,你可以看到变化。

这是因为中间件仅在页面再次加载后才呈现,并且仅在生产中存储在缓存中。

© www.soinside.com 2019 - 2024. All rights reserved.