Redirection 301 des urls avec accents

Comme certains ont pu le voir hier sur Twitter j’étais à la recherche d’une manière de pouvoir faire des redirections 301 d’URL avec des accents.

Voici comment se gèrent les redirections 301 de la façon la plus simple :

Redirect 301 /post/Webdesign http://www.ethno-urban.fr/prestations/webdesign/

La première partie de cette redirection est l’ancienne URL relative qui sera alors redirigé vers la nouvelle URL.

Mais pour les redirections d’URL avec accents, il va falloir que l’on procède avec une règle de réécriture et une petite regex:

RewriteRule ^blog/post/2011/02/26/Croogo-un-CMS-r(.*)-sur-le-framework-Cakephp$ /croogo-un-cms-realise-sur-le-framework-cakephp/ [R=301,L]

Il suffira alors d’utiliser la regex (.*) qui remplacera alors les caractères tel que %C3%A9 qui sont les parties accentuées de votre ancienne URL à rediriger.

Dans la première partie de cette réécriture, il faudra bien faire attention de ne pas mettre le  premier / de l’ancienne URL relative qui m’a fait perdre du temps.

Remerciements à

http://twitter.com/bertimus

http://twitter.com/Beunwa

http://twitter.com/cdillat

http://twitter.com/Seo_Ma