Перезапись запроса в NextJS
Перезапись отличается от редиректа: пользователь видит один URL, а NextJS отдает контент другого маршрута. Адрес в браузере не меняется, дополнительного запроса со стороны клиента нет. Так можно показать единую витрину по короткому пути или временно подставить заглушку, не ломая закладки.
Для подмены служит метод rewrite у
NextResponse. Давайте сделаем так,
чтобы по адресу /posts открывалась
разметка страницы /users:
import { NextResponse } from 'next/server';
export function proxy(request) {
if (request.nextUrl.pathname === '/posts') {
return NextResponse.rewrite(new URL('/users', request.url));
}
return NextResponse.next();
}
Подмените содержимое страницы
/login содержимым маршрута
/register без смены адреса
в браузере.