| 1234567891011121314151617181920212223242526272829 |
- import { NextResponse } from "next/server";
- import type { NextRequest } from "next/server";
- export function pathRewrite(
- request: NextRequest,
- response: NextResponse
- ) {
- const { pathname } = request.nextUrl;
- const match = pathname.match(/^\/products\/([^/]+)_([^/]+)\.html$/);
- if (!match) {
- return response;
- }
- const [, slug, id] = match;
- const url = request.nextUrl.clone();
- url.pathname = `/product/${slug}/${id}`;
- const rewriteResponse = NextResponse.rewrite(url);
- // 保留前面处理逻辑已经设置的 Cookie
- response.cookies.getAll().forEach((cookie) => {
- rewriteResponse.cookies.set(cookie);
- });
- return rewriteResponse;
- }
|