Поддержка устаревшего URL-адреса с Next.js

#next.js

Вопрос:

Я пишу новую Next.js приложение, в котором должны поддерживаться устаревшие URL-адреса (я не могу перенаправить 301)

Мне нужно поддерживать такие URL-адреса, как www.dan.com/foo/bar/slug

В настоящее время у меня есть эта структура папок.

папка страниц -> папка панели ->> [slug].js

Я бы пошел по этому пути?

Нужно ли мне создавать папку foo, подобную этой, и позволять следующему преобразованию выполнять эту работу, или это другие способы?

папка страниц -> папка foo ->> папка панели ->>> [slug].js

Комментарии:

1. Вы имеете в виду, что вам необходимо следовать этой структуре URL, и сама страница будет жить в вашем Next.js приложение, а не внешнее?

2. Да, настройку довольно сложно объяснить, по сути, это страница Nextjs, которая, похоже, является частью другого приложения.

Ответ №1:

Вы могли бы использовать rewrites в своем next.config.js , чтобы указать устаревшую структуру URL-адресов на свой Next.js путь к странице.

 // next.config.js

module.exports = {
    async rewrites() {
        return [
            {
                source: '/foo/bar/:slug',
                destination: '/bar/:slug'
            }
        ];
    }
}
 

Комментарии:

1. Вероятно, очевидный момент — но это работает только с маршрутами на стороне сервера.