nextJS 13(中间件)中的重定向

jv2fixgn  于 2023-05-17  发布在  其他
关注(0)|答案(1)|浏览(378)

我正在使用我的中间件,我想在用户登录后重定向用户。问题是API没有到达终点,而是停留在中间件部分(根据我的观察),页面也没有重定向。

import { NextRequest, NextResponse } from "next/server";

export function middleware(req) {
  const url = req.url;

  if (url.includes("login")) {
    return NextResponse.redirect("localhost:3000/home", req.url);
  }

  return NextResponse.next();
}

export const config = {
  matcher: ["/", "/api/login"],
};
nzrxty8p

nzrxty8p1#

所以NextResponse.redirect不接受字符串作为它的第二个参数。
我想你正在寻找更像这样的东西:NextResponse.redirect(new URL('/home',req.url))
这将构造一个新的URL对象,并创建url https://localhost:3000/home。

相关问题