Я уверен, что единственный чистый способ сделать это - использовать два определения маршрута:
routes.MapRoute(
"Default",
"{controller}/{action}.{format}",
new { controller = "Home", action = "Index", format = "" }
);
routes.MapRoute(
"Default2",
"{controller}/{action}",
new { controller = "Home", action = "Index" }
);
Убедитесь, что вы сохраняете тот же порядок в списке определений маршрутов, что и маршрут "Default2", переопределяет маршрут "Default" во всех случаях, если он помещен перед ним.