http://jason.whitehorn.ws/2008/06/17/Friendly-404-Errors-In-ASPNET-MVC.aspx дает следующее объяснение:
Добавляют подстановочное правило маршрутизации как Ваше заключительное правило:
routes.MapRoute("Error",
"{*url}",
new { controller = "Error", action = "Http404" });
Любой запрос, который не соответствует другому правилу, направляется к действию Http404 Ошибочного контроллера, который также необходимо настроить:
public ActionResult Http404(string url) {
Response.StatusCode = 404;
ViewData["url"] = url;
return View();
}
Можно также переопределить HandleUnknownAction в контроллере в случаях, где запрос действительно соответствует контроллеру, но не соответствует действию. Реализация по умолчанию действительно повышает 404 ошибки.