Перенаправление с HTTP
-статусом 301
это постоянное перенаправление на новый URL-адрес, который рекомендуется для SEO, но в нашем случае мы будем использовать статус за номером 308 — этот статус также информирует поисковые роботы и браузеры о постоянном перенаправлении, и именно он в next.js отдается на значение permanent: true, наверно потому что в какой то степени более постоянный, чем статус 301, который может изменить метод запроса.
Правки мы будем вносит в файл next.config.js
module.exports = {
async redirects() {
return [
{
source: '/about',
destination: 'https://new_site/about',
permanent: true,
},
]
},
}
redirects — это асинхронная функция, которая ожидает массив, содержащий объекты со свойствами source, destination и иpermanent
- source — это входящий запрос.
destination
— это новый путь, на который перенаправляем.permanent
true
илиfalse
— еслиtrue
будет использоваться код состояния 308, который указывает клиентам/поисковым системам кэшировать перенаправление навсегда, еслиfalse
будет использоваться код состояния 307, который является временным и не кэшируется.
Массовое перенаправление
Если страниц («урлов») много, то можно воспользоваться массовым перенаправлением благодаря сопоставлению по подстановочным знакам или регулярным выражениям .
Пример:
module.exports = {
async redirects() {
return [
{
source: '/:slug',
destination: 'https://omsk.dev/:slug', // Matched parameters can be used in the destination
permanent: true,
},
]
},
}