Wer in einer ASP.NET MVC Anwendung ALLE Requests zu einem Controller umgeleitet haben möchte, kann dies sehr einfach über das Routing einstellen.
ALLE Requests umleiten
Mit dem kleinen Trick ist es möglich, alle Requests zu einem Controller umzuleiten. Das kann zum Beispiel nützlich sein, wenn man sich selber um das Ausliefern einer "404-Fehler-Seite" kümmern möchte oder einfach z.B. weil gerade Wartungsarbeiten durchgeführt werden, alle Requests hart auf einen Controller umbiegen möchte.
routes.MapRoute( "CatchAll", "{*url}", new { controller = "Home", action = "Index", id = "" } );
In Zeile 3 steckt die Magie. Natürlich müsste diese Route als erstes registriert werden, wenn wirklich alle Requests abgefangen werden sollen. Wenn andere Routen "über" dieser liegen, funktioniert das natürlich nur für Requests wo die anderen Routen nicht matchen.
Andere Möglichkeiten gibt es natürlich auch, aber ich fand das heute ganz interessant :)