ASP.net MVC manejador / restricción de ruta personalizada

Necesito implementar un sitio MVC con urls como se indica a continuación:

categoría1 / producto / 1 / wikicategoría1 / producto / 2 / wikicategoría1 / subcategoría2 / producto / 3 / wikicategoría1 / subcategoría2 / subcategoría3 / producto / 4 / wikietcétera etcétera.

donde el criterio coincidente es que la url termina con "wiki".

Desafortunadamente, el catch-all a continuación funciona solo en la última parte de la url:

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

No he tenido tiempo de revisar las opciones de extensibilidad de MVC, así que me preguntaba cuáles son las posibles opciones para implementar esto. ¡Cualquier muestra / ejemplo sería simplemente fantástico!

Respuestas a la pregunta(1)

Su respuesta a la pregunta