Резервные перезаписи Next.js не возвращают реквизиты из getServerSideProps при доступе через next/link на Vercel

У меня есть перезаписи, определенные в afterFiles: и запасной вариант: в next.config.js.

В моей локальной среде разработки оба набора перезаписей работают отлично.

Однако при работе на Vercel резервные перезаписи не работают должным образом с моими функциями getServerSideProps.

При прямом доступе к URL-адресам они работают нормально, но при нажатии на ссылку, которая ссылается на URL-адрес, страница отображается без каких-либо реквизитов на стороне сервера. Я попытался добавить console.log в серверный код, но он не выполняется при доступе через ссылку на резервное правило.

Например, следующие два правила перезаписи будут действовать совершенно по-разному, несмотря на перезапись в один и тот же файл и с похожими аргументами:

      async rewrites() {
return {
  beforeFiles: [
  ],
  afterFiles: [
    {
      source: '/:country(usa)/:state/:city/:profile/',
      destination: '/hotels/profile/?country=:country&state=:state&city=:city&profile=:profile&rw=true',
      missing: [{ type: 'query', key: 'rw', value: 'true' }]
    }
  ],
  fallback: [
    {
      source: '/:country/:city/:profile/',
      destination: '/hotels/profile/?country=:country&city=:city&profile=:profile&rw=true',
      missing: [{ type: 'query', key: 'rw', value: 'true' }]
    }
  ],
}
}

Если я настрою тег Link с href='/usa/texas/houston/profilename/' (правило afterFiles), страница будет загружена правильно и будут доступны реквизиты на стороне сервера.

Если я настрою другой тег ссылки с href='/france/paris/profilename/' (резервное правило), он загрузит страницу без каких-либо реквизитов на стороне сервера.

Если я нажимаю «Обновить» или напрямую посещаю URL-адрес /france/paris/profilename/, он работает нормально и получает реквизиты, как и предполагалось.

Если вместо этого я перенесу резервное правило в afterFiles, то все тоже будет работать нормально.

Таким образом, похоже, что в среде Vercel есть какая-то проблема с резервными правилами, которые не обрабатываются так же, как среда разработки.

Кто-нибудь сталкивался с чем-то подобным или имеет какие-либо предложения по дальнейшей отладке/обходу решения?

0 ответов

Другие вопросы по тегам