Greenfield rewrites of legacy systems are seductive and almost always wrong. By the time the new system is feature-complete, the old one has moved, the team is exhausted, and the business has been frozen for a year.
We use the strangler-fig pattern by default: stand up the new system next to the old one, route slices of traffic incrementally, and decommission old endpoints once the new ones are proven in production. The old system keeps running. The business keeps moving. The team keeps shipping.
It feels slower at first. It is dramatically faster end-to-end. We've used it on PHP monoliths, ColdFusion intranets, Rails 3 apps, and one VB.NET system that nobody wants to discuss. It always works.