A rewrite engine modifies the appearance of URLs in a web application. URL rewriting is used to make URLs more readable, search engine optimized, and to loosely couple the URL from the underlying implementation or framework. Rewrite is a new open source URL rewrite engine that provides a Java DSL for configuration and supports features like parameter extraction, validation, request actions, navigation handling, and response transformations through a pipeline. It aims to improve on existing solutions by providing a more extensible and typesafe configuration approach without framework dependencies. The rewrite-config-prettyfaces module can help migrate existing PrettyFaces applications to use Rewrite.