Как лучше всего утверждать, что значения L1Cat и L2Cat не должны быть целочисленными или не состоять только из 0-9 чисел, чтобы удерживать значение страницы от присвоения им при некоторых запросах URL.
routes.MapRoute(
"Store5", // Route name
"{RootPointer}/{L1Cat}/{L2Cat}/{page}", // URL with parameters
new
{
controller = "Store",
action = "Index",
RootPointer = UrlParameter.Optional,
page =1
},
new { controller = "Store", action = "Index", page = @"\d+" });