mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
When using both pages & app routers, during `next dev` and `next start`, if a function triggers a 404 error, we serve the app router not found page rather than the pages router one. When paired with the `i18n` configuration in `next.config`, the Next.js builder ignores the app router 404 and bundles the localized pages router 404 pages with the deployed functions. This leads to a 500 error, and is fixed in https://github.com/vercel/vercel/pull/13222 However, to match the dev/start handling, we also need to update the `pages-manifest` so the builder knows to resolve `/404.html` and not the pages router variant when deployed. Fixes NEXT-4045 Validation: [vtest314-e2e-tests-bkc89ab40-ztanner.vercel.app/app-dir/foo](https://vtest314-e2e-tests-bkc89ab40-ztanner.vercel.app/app-dir/foo)
25 lines
480 B
TypeScript
25 lines
480 B
TypeScript
import React from 'react'
|
|
import { GetStaticProps } from 'next'
|
|
|
|
interface NotFoundProps {
|
|
message: string
|
|
}
|
|
|
|
const NotFound = ({ message }: NotFoundProps) => (
|
|
<div>
|
|
<h1>PAGES ROUTER - 404 PAGE</h1>
|
|
<p>This page is using the PAGES ROUTER</p>
|
|
<p>{message}</p>
|
|
</div>
|
|
)
|
|
|
|
export const getStaticProps: GetStaticProps<NotFoundProps> = async () => {
|
|
return {
|
|
props: {
|
|
message: 'Custom message fetched at build time',
|
|
},
|
|
}
|
|
}
|
|
|
|
export default NotFound
|