早上好!我已经尝试了几个小时如何在中间件中制作重定向页面。我阅读了文档并使用 NextResponse.redirect('/about') 并收到一条消息:“错误:URL 格式错误。请仅使用绝对 URL -”
如果我输入绝对 URL:http://localhost:3000/about,浏览器会多次执行请求,如下图所示。
我在Middlewarerelative URLs中尝试了这个解决方案,但错误仍然存在。
有人有解决办法吗?谢谢。
这是我在 _middleware.ts 中的代码:
import { NextResponse } from 'next/server';
import type { NextFetchEvent, NextRequest } from 'next/server';
export function middleware(request: NextRequest, ev: NextFetchEvent) {
return NextResponse.redirect('/about')
}
Run Code Online (Sandbox Code Playgroud)
文件夹和文件本地化:
Dec*_*bal 13
新版本的 next 确实不再允许这样做:
next/dist/server/web/utils.js (136:0) @ Object.validateURL
我没有查阅官方文档,我的解决方案是传递起源:
export function middleware(req: NextRequest): NextResponse | null {
const { pathname, origin } = req.nextUrl
return NextResponse.rewrite(`${origin}/about`)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8975 次 |
| 最近记录: |