Die Antwort dieser Frage wurde bereits auf Stack Overflow gepostet ... aber sie passt auch hier.
@ryanve schlägt vor, dies in .htaccess zu verwenden. Diese Frage ist auch mit einer anderen Lösung verbunden.
RewriteEngine On # Unless directory, remove trailing slash RewriteCond % !-d RewriteRule ^([^/]+)/$ http://example.com/folder/$1 [R=301,L] # Redirect external .php requests to extensionless url RewriteCond % ^(.+)\.php([#?][^\ ]*)?\ HTTP/ RewriteRule ^(.+)\.php$ http://example.com/folder/$1 [R=301,L] # Resolve .php file for extensionless php urls RewriteRule ^([^/.]+)$ $1.php [L]