1) Êtes-vous sûr que le module mod_rewrite est activé ? Vérifiez phpinfo()
2) Votre règle ci-dessus suppose que l'URL commence par "folder". Est-ce exact ? Voulez-vous vraiment que l'URL contienne "folder" ? Cela correspondrait à une URL comme :
/folder/thing -> /folder/thing.php
Si vous voulez vraiment
/thing -> /folder/thing.php
Vous devez supprimer le dossier de l'expression de correspondance.
Je l'utilise habituellement pour diriger la demande vers la page sans php (mais la vôtre devrait fonctionner, ce qui me fait penser que le mod_rewrite n'est peut-être pas activé) :
RewriteRule ^([^/\.]+)/?$ $1.php [L,QSA]
3) En supposant que vous déclarez vos règles dans un fichier .htaccess, votre installation permet-elle de définir des options (AllowOverride) prioritaires dans les fichiers .htaccess ? Certains hôtes partagés ne le permettent pas.
Lorsque le serveur trouve un fichier .htaccess (spécifié par la directive AccessFileName), il doit savoir quelles sont les directives déclarées dans ce peuvent remplacer les informations d'accès précédentes.
0 votes
Cela me semble correct (sauf que vous voudrez peut-être ignorer la barre oblique de fin de ligne). Êtes-vous sûr que htaccess est autorisé sur votre hôte et que mod_rewrite est pris en charge ?
0 votes
Cachez-vous l'extension pour des raisons esthétiques ou de sécurité ? Si c'est le cas, il existe d'autres moyens de découvrir le langage de script utilisé par le site. Par exemple : ashleysark.com/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42
0 votes
Cela fonctionne bien pour moi si je clique sur un lien et que j'enlève la terminaison .php.