Ответ 1
Сначала вы должны перенести свои города и сбросить пустой параметр по умолчанию:
routes.MapRoute(
name: "Cities",
url: "{cityname}",
defaults: new { controller = "Cities", action = "Info" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Маршруты обрабатываются по порядку, поэтому у вас должно быть от 1 до наименее специфического (ваш маршрут по умолчанию).
Поскольку ваш website.com/newyork соответствовал маршруту по умолчанию, он не продолжал ваш городской маршрут.