Voici un petit truc pour mod_rewrite. Cela permet de ré-écrire correctement les URIs qui ne se terminent pas une barre oblique (« / »).
RewriteEngine On
RewriteRule ^(.+[^\/])$ /$1/ [R=301,L]
Pourquoi forcer la barre oblique à la fin des URIs ? Pour ne pas que http://monsite.com/apropos/ et http://monsite.com/apropos soient traitées comme deux pages totalement indépendantes.
Cependant, prenez note que cette méthode est assez simpliste mais très puissante — elle prend en compte que tous les URIs d’un même site doivent toujours se terminer par « / », alors que ce n’est rarement le cas (pensez aux fichiers .jpeg, .zip, etc.). Il faudrait probablement placer une RewriteCond au-dessus de la deuxième ligne pour spécifier quand cette règle devrait être appliquée. Mais ça, je vous laisse l’écrire :)
P.S. - Je sais, cette méthode n’est aucunement encore implémentée sur ce blogue. La plupart des pages sont accessibles avec ou sans barre oblique finale. Shame on me!
Je ne vois pas en quoi les deux adresses mentionnées dans ce post sont différentes?
Simon Tremblay (28 décembre 2008 à 12:45 EST)
Oups, mon erreur! C’est corrigé.
Rémi Prévost (28 décembre 2008 à 14:28 EST)