Asp.Net MVC Routing - wie kann ich die gesamte URL abgleichen?
Ich versuche, eine Sammelroute zu erstellen, um zu verfolgen, wann sich eine Partnerzeichenfolge in der URL befindet. Ein Affilite-Code ist mit einem gekennzeichnetx
gefolgt von einemint
und werden nur am Ende einer URL (aber vor der Abfragezeichenfolge) angezeigt.
Die Idee ist, dass ich die Partner-ID extrahiere, etwas protokolliere und dann eine 301-Operation für dieselbe Anfrage ohne die Partner-ID durchführe.
Zum Beispiel:
http://www.domain.com/x32
http://www.domain.com/x32/
http://www.domain.com/path/to/something/x32
http://www.domain.com/x32?query=string
http://www.domain.com/x32/?query=string
http://www.domain.com/path/to/something/x32?query=string
http://www.domain.com/path/to/something/x32/?query=string
Ich habe diese Route
routes.Add(new Route("{url}/x{affiliateExternalId}", new MvcRouteHandler())
{
Defaults = new RouteValueDictionary(
new { controller = "Home", action = "LogCookieAndRedirect" }
),
Constraints = new RouteValueDictionary(new { affiliateExternalId = @"\d{1,6}" })
});
Was nur passt
http://www.domain.com/path/x32
http://www.domain.com/path/x32/
Was muss ich tun, um alles abzugleichen und die Abfragezeichenfolge an den Controller zu übergeben? Da ist ein*
Operator, von dem ich vermute, dass ich ihn verwenden sollte, aber ich kann ihn nicht dazu bringen, das zu tun, was ich brauche.