Malta has airlifted a newborn and his mother from a Spanish migrant rescue ship and rejected accusations that it had refused food to more than 300 other migrants on board.
The baby was born three days earlier on a beach in Libya and his life was in danger, the Proactiva charity said.
Proactiva's boat was refused entry to Malta and Italy, while France, Tunisia and Libya did not respond to requests.
Malta said crew had told officials they had enough provisions for two days.
A Maltese spokesman said the airlift had gone beyond Malta's legal obligations, as the migrants were rescued on Friday in waters supervised by Libya.
Earlier the charity posted on Instagram that the 311 migrants - including pregnant women, children and babies - had been rescued from "certain death at sea" and said Malta had refused to provide food, adding "this isn't Christmas".
Meanwhile Italy's Interior Minister Matteo Salvini, from the far-right Lega party, tweeted that "Italian ports are closed" and the migrants would not be allowed to land.
Proactiva says its vessel is now heading towards the port of Algeciras in southern Spain, where the migrants can disembark.
A Spanish government statement said the vessel had been allowed to head to Spain "due to the refusal or lack of response from the nearest ports".
The journey will take five or six days but another Proactiva vessel is on its way with more supplies.
Meanwhile, a German NGO, Sea-Watch, said it had rescued 33 migrants at sea and was appealing for a port where they could disembark.
More than 1,300 migrants have died trying to reach Italy or Malta since the beginning of the year, the International Organization for Migration (IOM) says.
Most women and older teenage girls say they were raped by smugglers or traffickers, the report said.
"Across Libya, unidentified bodies of migrants and refugees bearing gunshot wounds, torture marks and burns are frequently uncovered in rubbish bins, dry river beds, farms and the desert," it said.