[RESOLU] problème htaccess > redirectmatch permanent

Nouveau WRInaute
Bonjour !


J'étais sous dotclear et je viens de passer sous wordpress. J'ai bien importé les billets & co, ça fonctionne.
Pour l'instant les deux versions de mon blog sont encore en place. Le hic c'est quand je vais tout basculer sous wordpress, les liens vont sauter (j'entends par là tous les liens inclus dans des billets faisant référence à d'anciens billets par exemple). La structure est différente, voilà un lien dotclear :
.../dotclear/index.php?2008/01/24/819886-billet
Et le lien wordpress pour le même billet :
.../wordpress/2008/01/24/billet/

Est-ce qu'il y a moyen via un htaccess de rediriger les liens ?
Je n'y connais pas grand chose voire rien du tout. J'ai essayé ça par rapport à la structure des liens mais ça ne fonctionne pas :
Code:
RedirectMatch permanent /dotclear/index.php[?]([0-9]+)[/]([0-9]+)[/]([0-9]+)[/][0-9][-][0-9]+-(.+)$ http://adressedemonsite/wordpress/$1/$2/$3/$4-$5
Une idée ?
Merci !
 
WRInaute passionné
il faut utiliser RewriteCond %{QUERY_STRING} :
Code:
RewriteCond %{QUERY_STRING} ^([0-9]+)/([0-9]+)/([0-9]+)/[0-9]+-(.+)$
RewriteRule ^dotclear/index\.php$ /wordpress/%1/%2/%3/%4/
 
Nouveau WRInaute
Merci beaucoup ! Ca fonctionne bien.
Mais pas à 100%. C'est-à-dire que ça redirige bien vers mon blog wordpress mais en revanche ça ne tombe pas sur le billet voulu. Ca tombe sur la page d'accueil... Je pense que c'est à cause du fait que Dotclear ajoute l'ID du billet avant son titre. Comment faire pour faire sauter ça ?
Avec le htaccess en état, je tombe bien sur mon blog wordpress mais sur :
.../wordpress/2008/01/24/819886-billet/
Alors qu'il faudrait :
.../wordpress/2008/01/24/billet/
Il faudrait arriver à évacuer la chaîne de chiffres (819886- sur mon exemple) avant le titre, au niveau du %4 il me semble.
C'est possible ?
 
WRInaute passionné
normalement c'est bon car ça ne récupère que ce qui se trouve après le dernier "-".
le .htaccess est à mettre à la racine.

je viens de voir que j'ai été un peu vite :
Code:
RewriteCond %{QUERY_STRING} ^([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)-(.+)$
RewriteRule ^dotclear/index\.php$ /wordpress/%1/%2/%3/%5/? [R=301]
 
Discussions similaires
Haut