J'ai un site où toutes les pages sont des scripts php, donc les URL se terminent par .php.Utilisation de mod_rewrite pour masquer .php à la fin des URL
J'ai ajouté ce qui suit dans un fichier .htaccess, et je peux maintenant accéder aux fichiers .php sans l'extension .php:
RewriteEngine On # Turn on rewriting
RewriteCond %{REQUEST_FILENAME}.php -f # If the requested file with .php on the end exists
RewriteRule ^(.*)$ $1.php # serve the PHP file
Jusqu'à présent, si bon. Mais maintenant je veux ajouter une redirection sur tous les fichiers .php afin que tous les anciens liens en dehors de mon contrôle soient redirigés vers la nouvelle version de l'URL.
J'ai essayé ceci:
RewriteEngine On # Turn on rewriting
RewriteCond %{REQUEST_URI} .*\.php
RewriteRule ^(.*)\.php$ http://example.com/$1 [R=permanent,L]
RewriteCond %{REQUEST_FILENAME}.php -f # If the requested file with .php on the end exists
RewriteRule ^(.*)$ $1.php [L] # serve the PHP file
mais qui semble envoyer une redirection même pour les URL qui ne se terminent pas par .php, donc je suis coincé dans une boucle infinie. Toute autre combinaison que j'essaie semble ne correspondre à aucune demande (et me laisser à page.php) ou toutes les demandes (et me coincer dans une boucle).
http://stackoverflow.com/questions/3024631/htaccess-remove-php-extension-index-php-and-add-trailing-slash/ – TheDeadMedic