Next.js Routing Issue - Error URLs Do Not Return 404

6 replies
Last updated: Jul 4, 2021
Hello, can someone help me with this nextjs routing issue am facing?I have this dynamic routes [category].js in my pages folder. Now in the browser if I type anything like
http://localhost:3000/jjjjj the page renders but what I want is the page should only render if the category param matches the slug in the data am getting from sanity and if the category param is incorrect then the 404 page should show.
Jul 2, 2021, 11:27 AM
Hi
user Q
, could you try something like this?
import Error from 'next/error'
...
function MyPage({ data }) {
  const router = useRouter()
  if (!router.isFallback && !data) {
    return <Error statusCode={404} />
  }
  ...
}
Jul 2, 2021, 12:25 PM
Its simple, Just add the following to
getStaticPaths


fallback: false 
Jul 2, 2021, 12:36 PM
Thanks so much It worked. I have another issue. Am trying to add a newsletter form to my blog where I can collect emails with MailChimp. The first thing I did was to verify if that email actually exist and the package I was using was deep-email-validator npm. It works well on my localhost but when I pushed the changes to github and vercel built the project. I tried it and I got 504 Bad Gateway. I don't understand because everything works well on localhost.
Jul 2, 2021, 4:50 PM
that doesn’t seem to be a sanity issue.
Jul 2, 2021, 4:54 PM
Yes am asking because maybe you might have a solution.
Jul 2, 2021, 5:59 PM
Thanks I have fixed it by switching to ConvertKit instead of MailChimp
Jul 4, 2021, 11:58 AM

Sanity.io – build remarkable experiences at scale

Sanity is a customizable solution that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Categorized in