Маршрутизация MVC позволяет вам определить практически любую структуру, которую вы хотите, вам просто нужно определить, что каждая из частей означает семантически. Вы можете иметь биты, которые «жестко запрограммированы», например, «shop / products», а затем определить остаток как переменную, «{category} / {subcategory} / {specialty}» и т. Д.
Вы также можете определить несколько маршрутов, которые все отображаются в одну и ту же конечную точку, если хотите. По сути, когда URL входит в ваше приложение MVC, он просматривает таблицу маршрутизации, пока не находит соответствующий шаблон, заполняет переменные и передает запрос соответствующему контроллеру для обработки.
В то время как маршрут по умолчанию - это простой контроллер, Action, установка типа Id, это определенно не та степень, которую вы можете сделать.