Сольнок находится 90 километрах к юго-востоку от Будапешта и в 50 километрах к северо-востоку от Кечкемета. Город расположен на обоих берегах реки Тиса, исторический центр и большая часть города — на правом берегу рядом с устьем реки Задьва.
Через город проходит автомагистраль E60 Будапешт — Сольнок — Орадя, другие дороги идут на юг к Кечкемету и Сегеду и на север. Сольнок соединён железнодорожной магистралью с Будапештом, в Сольноке она разветвляется на два направления — одно на Дебрецен, другое на Бекешчабу. Время в пути на поезде от Будапешта — около полутора часов.
История
Первое упоминание о городе относится к 1075 году, в это время Сольнок стал столицей одноимённого комитата. Имя Сольнок происходит от личного имени владельца укреплённого замка. В ходе монгольского нашествия XII века город был полностью разорён, вплоть до XVI века он оставался небольшой деревней.
В середине XVI века в связи с угрозой турецких нашествий замок Сольнока был укреплён и превращён в крепость. В 1552 году турки взяли город после упорной осады. За годы турецкого владычества в Сольноке были построены мечеть, минарет, бани и ряд других сооружений, большая часть которых впоследствии была разрушена.
Сольнок был освобождён в 1685 году, однако в ходе восстания Ференца Ракоци в начале XVIII века был вновь полностью разрушен. Возрождение и быстрый рост города в XVIII веке были непосредственно связаны с выгодным географическим положением на пересечении водного пути по Тисе и сухопутных торговых путей. В 1847 году Сольнок был связан с Будапештом железной дорогой.
В ходе Румынской интервенции в Венгрию Сольнок серьёзно пострадал. С 1 августа 1919 года в самом городе и его окраинах начались битвы ,Сольнок серьёзно пострадал в ходе боевых действий.
В 1944 году город вновь был почти полностью разрушен в ходе бомбардировок и уличных боёв между наступавшей Красной армией и вермахтом.
В социалистический период в городе было построено несколько промышленных предприятий, Сольнок стал санаторно-курортным центром благодаря открытым в городе термальным баням.