Mod_rewrite is an Apache module that rewrites browser requests before other modules see them. It uses directives like RewriteEngine, RewriteCond, and RewriteRule that can be placed in the Apache config file or .htaccess files. RewriteCond defines conditions and RewriteRule defines rewrite patterns and substitutions. Mod_rewrite is commonly used to implement "friendly" URLs for search engine optimization and to map old URLs to new URLs after site changes.