diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index e596b60cb93..232620dd4ea 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -90,6 +90,8 @@ export default defineNuxtModule({ prerenderRoutes.clear() const processPages = (pages: NuxtPage[], currentPath = '/') => { for (const page of pages) { + // Add root of optional dynamic paths and catchalls + if (page.path.match(/^\/?:.*(\?|\(\.\*\)\*)$/) && !page.children?.length) { prerenderRoutes.add(currentPath) } // Skip dynamic paths if (page.path.includes(':')) { continue } const route = joinURL(currentPath, page.path)