I'm trying to return a 404 status code with my custom error page. However I keep getting 200 back, since the page does actual exists as far as the browser and server can tell.
What I have been trying so far is:
<customErrors mode="On" defaultRedirect="~/404" >
<error statusCode="404" redirect="~/404"/>
</customErrors>
Where 404 is a route to the "page not found" controller and action.
I have also tried to set the statuscode with in my action..
public ActionResult PageNotFound(string locale)
{
Response.StatusCode = 404;
return View();
}
But that simply ends up with displaying the default Server error page (the gray-ish one with the red error message text)
Any ideas of how to get around this?
Open or create the . htaccess-file and enter the relative path to the error page. First though, you have to create the error page (404. html, for example) on the first level of your website (the root-directory).
When a user requests a nonexistent URL on your website, you should return an individual error page that lets them know that the requested URL does not exist. You should also make sure that the server returns the correct HTTP status code “404“.
I had the same problem and the solution is posted here:
public ActionResult NotFound()
{
Response.StatusCode = 404;
Response.TrySkipIisCustomErrors = true; <---
return View();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With