ASP.net MVC niestandardowy program obsługi trasy / ograniczenie

Muszę zaimplementować witrynę MVC z adresami URL poniżej:

kategoria1 / produkt / 1 / wikikategoria1 / produkt / 2 / wikikategoria1 / podkategoria2 / produkt / 3 / wikikategoria1 / podkategoria2 / podkategoria3 / produkt / 4 / wikiitd itd.

gdzie kryteria dopasowania są takie, że adres kończy się na „wiki”.

Niestety poniższe catch-all działa tylko w ostatniej części adresu URL:

routes.MapRoute("page1", // Route name
                "{*path}/wiki", // URL with parameters
                new { controller = "Wiki", action = "page", version = "" } // Parameter defaults

Nie miałem czasu, aby przejść przez opcje rozszerzalności MVC, więc zastanawiałem się, jakie są możliwe opcje wdrożenia? Każdy przykład / przykład byłby po prostu fantastyczny!

questionAnswers(1)

yourAnswerToTheQuestion