Cherokee supports to define different behaviors based on the extension of the request. It accepts the same options as a Directory configuration entry. This feature is commonly used to configure the scripting languages.
For example, in the case of PHP:
Extension php, php3, php4 { Handler phpcgi }
Lets imagine we want require a valid login/password pair to download *.iso files.
Extension iso { Auth Basic, Digest { Name "ISO image files" Method plain { PasswdFile /var/www/isos/.plain_passwds } } }