How can I Handler 404 errors without the framework throwing an Exception 500 error code?
http://jason.whitehorn.ws/2008/06/17/Friendly-404-Errors-In-ASPNET-MVC.aspx gives the following explanation:
Add a wildcard routing rule as your final rule:
routes.MapRoute("Error",
"{*url}",
new { controller = "Error", action = "Http404" });
Any request that doesn't match another rule gets routed to the Http404 action of the Error controller, which you also need to configure:
public ActionResult Http404(string url) {
Response.StatusCode = 404;
ViewData["url"] = url;
return View();
}
You can also override HandleUnknownAction within your controller in the cases where a request does match a controller, but doesn't match an action. The default implementation does raise a 404 error.
throw new HttpException(404, "Resource Not Found");
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