Laravel, mod_rewrite et suppression de l’extension .php

J’ai commencé le processus de reconstruction d’un site au sein de Laravel 4.

Les URL de ce site sont actuellement servies avec l’extension .php. Les clients ont ces pages mises en signet, il est donc important de les redirect vers la même page, moins l’extension .php.

Exemple: je voudrais que /contact.php redirige vers /contact .

Laravel embarque avec ceci dans son fichier htaccess:

  Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]  

Je ne connais pas bien les expressions régulières ni la propre syntaxe d’Apache. J’ai trouvé cette réponse complète au service de fichiers PHP sans l’extension .php, mais Laravel achemine tout via index.php, de sorte que cette solution ne semble pas fonctionner.

Comment redirect universellement les URL avec .php vers la même page sans l’extension?

Au-dessus des règles que vous avez déjà, ajoutez ceci:

 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)\.php$ /$1 [L,R=301] 

redirect les pages php inexistantes.