una route cosi messa dopo quella di default non verrebbe mai scelta mentre messa prima creerebbe delle ambiguità: per es.
/pippo
/pippo/pluto
chi è pippo? il name o il controller?
e pippo/pluto? name/controller? o controller/action?
queste route hanno bisogno di un elemento di specificità per es.
codice:
routes.MapRoute(
name: "Cliente_Admin",
url: "Gestione/{name}/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, name= UrlParameter.Optional }
);
le url sarebbero:
/gestione
/gestione/mario
/gestione/mario/cont
/gestione/mario/cont/act
/gestione/mario/cont/act/1
queste non funzionerebbero e/o creerebbero problemi:
/gestione/mario/1
/gestione/mario/act
/gestione/cont
la prima cercherebbe il controller "1"
la seconda vorrebbe chiamare l'action "act" di home ma lui cercherebbe tra i controller un che si chiama act e se non lo trova ti solleva un eccezione (questo è un problema che hai anche nella route di default se provi a chiamare /index).
la terza chiamerebbe home/index passando cont come name.