Why don't "pretty URLs" work in the concrete5 CMS?

If you use the concrete5 CMS software and enable "pretty URLs", you may see an error message saying "No input file specified". To fix this, enable FastCGI for PHP.

This problem happens because .htaccess RewriteRules used in concrete5 expect PHP to work in a certain specific technical way. Enabling FastCGI makes PHP work the way it expects.