Zheng won in her last final appearance in Auckland, New Zealand, in 2012, for her fourth career title.
She broke Rybarikova six times, and will meet American qualifier Coco Vandeweghe, who beat 2005 champion Klara Koukalova 6-4, 6-2 with nine aces a week after losing to the Czech on Birmingham's grass in the second round.
Vandeweghe, who has a 1-1 record against Zheng, will play in only her second final, looking for her maiden title.
In the semifinals late Friday, Bautista Agut will meet eighth-seeded Jurgen Melzer of Austria, who outlasted second-seeded Fernando Verdasco of Spain. Their match was suspended at one set all, and Melzer prevailed 7-6 (3), 6-7 (6), 7-6 (9) after more than three hours for only the third time in nine matches with Verdasco.
It was also Melzer's best result since he returned to the tour in mid-April from a seven-month layoff for a shoulder injury.