Перенаправление NextJS на основе регулярного выражения

#reactjs #next.js

Вопрос:

Я использую Next.js и я пытаюсь перенаправить на заданную базу пути на основе некоторых условий регулярных выражений и файлов cookie.

Цель состоит в том, чтобы перенаправить /foo/bar , когда у источника нет ключа bar и у него есть данный файл cookie.

Я перепробовал несколько разных способов, next.config.js и ни один из них не работает.

Прямо сейчас у меня есть следующее

 async redirects() {
    return [
      {
        source: '/(^(?:(?!bar).)*$)',
        has: [{
          type: 'cookie',
          key: 'utm_source',
          value: 'bar',

        }],
        destination: '/foo/bar',
        permanent: true
      }
    ]
  }
 

Документация довольно расплывчата.

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

1. вы уже проверили это ? github.com/vercel/next.js/issues/15712

2. Я никогда не уделял этому столько внимания, как сейчас. Да, это решает проблему, но это слишком многословно. Я хотел бы указать только слово, которого не должно быть в источнике. Мне плевать на тропинку. Но спасибо, в худшем случае у меня есть это.

3. Если вы примете мой комментарий в качестве ответа, я могу опубликовать его в качестве ответа.

4. Вы можете быть уверены, но я думаю (надеюсь), что есть другой ответ.