Manipulador / restrição de rota personalizada do asp.net MVC

Eu preciso implementar um site MVC com URLs por abaixo:

categoria1 / produto / 1 / wikicategoria1 / produto / 2 / wikicategoria1 / subcategoria2 / produto / 3 / wikicategoria1 / subcategoria2 / subcategoria3 / produto / 4 / wikietc etc.

onde o critério de correspondência é que o URL termina com "wiki".

Infelizmente, o resumo abaixo funciona apenas na última parte do URL:

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

Eu não tive tempo para percorrer as opções de extensibilidade MVC, então eu queria saber quais são as opções possíveis para implementar isso? Qualquer amostra / exemplo seria simplesmente fantástico!

questionAnswers(1)

yourAnswerToTheQuestion