Issue with Redirects Not Working as Expected in Next.js 14 Site


I’ve been following the guide on making redirects work for troubleshooting and debugging as per the instructions found here.

My project uses Next.js 14, and for redirects, I have a _redirects file set up with the following rule:

/form/* 200!

The intent is to proxy an API request to an AWS API Gateway url

To ensure the _redirects file is included in the build output, I use the build command: "npm run build && cp _redirects .next/_redirects". After deploying, the Deploy Summary indicates that the rule is processed. However, I don’t see the _redirects file in the Netlify Deploy file browser. Instead, a netlify.toml file is generated with an equivalent redirect rule as the first entry among other auto-generated redirects.

Here’s the generated netlify.toml entry:

from = "/form/*"
to = ""
status = 200
force = true

In my Next.js app, for submitting forms, I have the following code setup on the /contact page:

const url = '/form/submit';
try {
  const response = await fetch(url, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify(dataToSubmit),

However, when testing the form submission, the request appears to call to https://mydomain/contact instead of https://mydomain/forms/submit and returns a 404 Not Found error, as seen in the browser’s DevTools.

I’ve spent a couple of days troubleshooting without success, and have looked through the recommended similar issues in the support forums or the chat bot. I would greatly appreciate any insights or suggestions on what I might be missing.

The netlify site is:
The working domain with SSL is:

Thank you!

Finally found a solitary support thread where it’s mentioned that Next14 isn’t well supported on Netlify. Moved to Vercel and was up and running in < 5 mins with no redirects or changes to the code. Lesson learned.

Hi @rrrodzilla sorry to hear that. We’re now rolling out a version with full support for all Next 14 features.
The info is here should you like to try.