J'ai les règles suivantes dans mon fichier htaccess pour supprimer l'extension .php et faire une redirection 301 vers l'URL sans extension :
# To remove .php extension
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ (.*)\.php [NC]
RewriteRule ^ %1 [R=301,L]
# To check whether the file exists then set it back internally
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^.*$ $0.php [L]
Je souhaite appliquer les règles suivantes à un fichier PHP :
RewriteRule ^test/([0-9]+)$ test.php?id=$1 [L]
La règle ci-dessus conduit à une erreur de serveur interne 500. Si je supprime la première série de règles, la deuxième règle fonctionne à nouveau. Il y a donc un conflit entre les deux ensembles de règles.