city - должно быть открыто
Allow: /city/$
название-города - должно быть закрыто
Сделайте общую подстроку в конце url для этих страниц, например, /city/название-города/city-info/
Тогда получится:
Disallow: /city/*/city-info/$
products - должно быть открыто, но все, что после products должно быть закрыто от индексации
Allow: /city/*/products/$
Disallow: /city/*/products/*
#/city/*/products/ подходит под оба условия, будет выбрана директива Allow