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();
}