Skip to content

Commit 144786f

Browse files
committed
fix: allow ISR 404 pages to use the ODB handler
1 parent a0cc3f7 commit 144786f

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

packages/runtime/src/helpers/redirects.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,13 +188,15 @@ const generateDynamicRewrites = ({
188188
basePath,
189189
buildId,
190190
i18n,
191+
is404Isr,
191192
}: {
192193
dynamicRoutes: RoutesManifest['dynamicRoutes']
193194
prerenderedDynamicRoutes: PrerenderManifest['dynamicRoutes']
194195
basePath: string
195196
i18n: NextConfig['i18n']
196197
buildId: string
197198
middleware: Array<string>
199+
is404Isr: Boolean
198200
}): {
199201
dynamicRoutesThatMatchMiddleware: Array<string>
200202
dynamicRewrites: NetlifyConfig['redirects']
@@ -208,7 +210,7 @@ const generateDynamicRewrites = ({
208210
if (route.page in prerenderedDynamicRoutes) {
209211
if (matchesMiddleware(middleware, route.page)) {
210212
dynamicRoutesThatMatchMiddleware.push(route.page)
211-
} else if (prerenderedDynamicRoutes[route.page].fallback === false) {
213+
} else if (prerenderedDynamicRoutes[route.page].fallback === false && !is404Isr) {
212214
dynamicRewrites.push(...redirectsForNext404Route({ route: route.page, buildId, basePath, i18n }))
213215
} else {
214216
dynamicRewrites.push(
@@ -266,6 +268,10 @@ export const generateRedirects = async ({
266268

267269
const staticRouteEntries = Object.entries(prerenderedStaticRoutes)
268270

271+
const is404Isr = staticRouteEntries.some(
272+
([route, { initialRevalidateSeconds }]) => is404Route(route, i18n) && initialRevalidateSeconds !== false,
273+
)
274+
269275
const routesThatMatchMiddleware: Array<string> = []
270276

271277
const { staticRoutePaths, staticIsrRewrites, staticIsrRoutesThatMatchMiddleware } = generateStaticIsrRewrites({
@@ -298,6 +304,7 @@ export const generateRedirects = async ({
298304
basePath,
299305
buildId,
300306
i18n,
307+
is404Isr,
301308
})
302309
netlifyConfig.redirects.push(...dynamicRewrites)
303310
routesThatMatchMiddleware.push(...dynamicRoutesThatMatchMiddleware)

0 commit comments

Comments
 (0)