РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnxSpIlRd 67 of 69 menu
◀ ▶

Перенаправление на язык в NextJS

Корень сайта / не попадает в сегмент [lang]. Чтобы не оставлять пользователя без языка, можно перехватить такой запрос в прокси-слое и вернуть ответ с перенаправлением на /en.

В корне src лежит файл proxy.js с экспортом функции proxy. Внутри смотрим pathname запроса: если путь не начинается с /en и не с /ru, собираем новый URL и отдаем перенаправление. Давайте настроим перенос с главной:

import { NextResponse } from 'next/server'; export function proxy(request) { let { pathname } = request.nextUrl; let hasLocale = pathname.startsWith('/en') || pathname.startsWith('/ru'); if (!hasLocale) { return NextResponse.redirect(new URL('/en', request.url)); } return NextResponse.next(); }

Добавьте прокси-слой, который отправляет запросы без префикса языка на /en.

Проверьте в браузере: открытие / должно привести на английскую главную.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить