Rybołów od zawsze stanowił problem dla taksonomów, tutaj traktowany jest jako jedyny żyjący przedstawiciel rodziny Pandionidae, która umieszczona jest w rzędzie szponiastych (Accipitriformes), choć tradycyjnie zaliczano ją do rzędu sokołowych (Falconiformes). Inne systemy klasyfikacyjne umieszczają go obok jastrzębi i orłów w rodzinie jastrzębiowatych (Accipitridae), a jeszcze inne zaliczają go do rodziny sokołowatych (Falconidae) w rzędzie Falconiformes. Taksonomia Sibleya-Ahlquista umieszcza go wraz z innymi dziennymi ptakami drapieżnymi w znacznie powiększonym rzędzie brodzących (Ciconiiformes), ale skutkuje to nienaturalną klasyfikacją parafiletyczną.
Rybołów jest także wyjątkowy pod tym względem, że jako pojedynczy gatunek występuje niemal na całym świecie. Nawet kilka podgatunków nie da się jednoznacznie oddzielić. Zasadniczo wyróżnia się cztery podgatunki (nominatywny, carolinensis, ridgwayi i cristatus), choć różnice są niewielkie, a część systematyków wymienia tylko trzy pierwsze, a czwarty (cristatus) podnosi do rangi osobnego gatunku: