Options +FollowSymLinks -MultiViews

# Block direct access
<FilesMatch "^config\.php$|\.(bak|old|orig|save|swp|dist)$|~$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
    </IfModule>
</FilesMatch>

RewriteEngine On

# Remove .php extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

# Shortlink
RewriteRule ^r/(.+)$ redirect.php?keyName=$1 [L,QSA]

# reCAPTCHA
RewriteRule ^recaptcha/?$ recaptcha.php [L,QSA]