The calculated distance (air line) between Mazkeret Batya and Ashkelon is approximately 21 miles respectively 33 kilometers.
By car or train, the actual journey to Ashkelon is certainly longer, as only the direct route (as the crow flies) between Mazkeret Batya and Ashkelon has been calculated here.
Air line (approximately)
33 kilometers
18 nautical miles