Webmaster Hub: Migration Dotclear vers Wordpress - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Migration Dotclear vers Wordpress Conservation des liens Noter : -----

#1 L'utilisateur est hors-ligne   sablier 

  • Groupe : Membre
  • Messages : 6
  • Inscrit(e) : 28-octobre 10

Posté 28 octobre 2010 - 13:11

Bonjour

Je suis en train de migrer mon site de Dotclear vers Wordpress.

J'ai pu récupérer les articles sous wordpress. Par contre, je bute sur la manière de procéder pour conserver mes anciens liens.

Mon précédent site était installé à la racine. Pour rendre les choses plus simples j'ai installé Wordpress dans un répertoire /blog

Mes anciens url avec Dotclear :
http://www.monsite.c...10/07/551-titre
551 est le numéro identifiant de l'article

Mes nouveaux url avec Wordpress installé dans le répertoire /blog :
http://www.monsite.c...09/10/07/titre/

J'aimerais rediriger mes anciens URL vers quelque chose de ce type :
http://www.monsite.c...09/10/07/titre/
ou
http://www.monsite.com/551/titre/

La difficulté c'est que le numéro identifiant l'article sous Dotclear n'est pas le même que celui utilisé par Wordpress.

Si quelqu'un à une idée ? Je suis bloqué !
0

#2 L'utilisateur est hors-ligne   Ernestine 

  • Groupe : Fondatrice
  • Messages : 1 034
  • Inscrit(e) : 21-août 03
  • Genre:Femme

Posté 28 octobre 2010 - 15:26

Salut,

Ça ne va pas être simple. L'idéal serait que le script de migration produise un tableau de correspondances entre les ids de Dotclear et ceux de Wordpress, et à partir de ce tableau, générer la liste des redirections pour le htaccess.

Ou alors tu peux peut-être utiliser les dates, puisque la date apparaît dans l'ancienne url de même que dans la nouvelle, et sous le même format (/2009/10/07/). Dans index.php, si l'url est de forme Dotclear, le script recherche la nouvelle url en se basant sur la date, et redirige sur celle-ci. Par contre, si tu as écrit plusieurs articles par jour, ça se corse.
0

#3 L'utilisateur est hors-ligne   sablier 

  • Groupe : Membre
  • Messages : 6
  • Inscrit(e) : 28-octobre 10

Posté 28 octobre 2010 - 18:54

Voir le messageErnestine, le 28 octobre 2010 - 15:26, dit :

Salut,

Ça ne va pas être simple. L'idéal serait que le script de migration produise un tableau de correspondances entre les ids de Dotclear et ceux de Wordpress, et à partir de ce tableau, générer la liste des redirections pour le htaccess.

Ou alors tu peux peut-être utiliser les dates, puisque la date apparaît dans l'ancienne url de même que dans la nouvelle, et sous le même format (/2009/10/07/). Dans index.php, si l'url est de forme Dotclear, le script recherche la nouvelle url en se basant sur la date, et redirige sur celle-ci. Par contre, si tu as écrit plusieurs articles par jour, ça se corse.


Merci pour ta réponse.

Je n'ai pas été amené à écrire souvent plusieurs articles par jour. Je dois pouvoir revenir sur les quelques cas. Déjà si je peux traiter la grande majorité ds articles ce sera bien.

Tu parles de script mais ne peut on pas traietr ce problème avec un fichier .htaccess ?
0

#4 L'utilisateur est hors-ligne   paolodelmare 

  • Groupe : Hubmaster
  • Messages : 274
  • Inscrit(e) : 19-février 09
  • Genre:Homme
  • Localisation:toulon

Posté 28 octobre 2010 - 20:10

C'est ce qu' Ernestine a écrit, amis elle cherchait à proposer un script pour automatiser l'écriture des redirections au lieu de se les frapper à la mano.
Entrainement trail
Rendre à la communauté un peu de ce qu'elle m'a donné.
0

#5 L'utilisateur est hors-ligne   sablier 

  • Groupe : Membre
  • Messages : 6
  • Inscrit(e) : 28-octobre 10

Posté 29 octobre 2010 - 07:33

Ok merci.

Comment fait-on pour faire ce script ?
0

#6 L'utilisateur est hors-ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 946
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 29 octobre 2010 - 08:32

Pas besoin de script, une seule règle comme ceci devrait fonctionner à mon avis :

RewriteEngine on
RewriteRule index.php/([0-9]{4}/[0-9]{2}/[0-9]{2}/)[0-9]+-(.*)$  http://www.monsite.tld/blog/$1$2/ [R=301,L]


Pour autant que le titre reste exactement le même... sinon il faut un identifiant !

Dan ;)
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#7 L'utilisateur est hors-ligne   sablier 

  • Groupe : Membre
  • Messages : 6
  • Inscrit(e) : 28-octobre 10

Posté 29 octobre 2010 - 14:27

Voir le messageDan, le 29 octobre 2010 - 08:32, dit :

Pas besoin de script, une seule règle comme ceci devrait fonctionner à mon avis :

RewriteEngine on
RewriteRule index.php/([0-9]{4}/[0-9]{2}/[0-9]{2}/)[0-9]+-(.*)$  http://www.monsite.tld/blog/$1$2/ [R=301,L]


Pour autant que le titre reste exactement le même... sinon il faut un identifiant !

Dan ;)

Merci !

Si j'ai bien compris tu reprends dans ta règle une première variable correspondant à la date et une seconde variable correspondant au titre. Peux tu m'expliquer ce que signifie "(.*)" ? Quelle différence avec "(-[a-z]*)" ?

Dans l'URL réécrite est ce que je peux faire http://www.monsite.t...tld/blog/$1/$2/ ?

Je sais qu'entre Dotclear et Wordpress j'ai pour l'identifiant d'un article une différence de 213. Par exemple, l'article numéroté 551 sur Dotclear et numéroté 338 sur Wordpress. Comment introduire cette règle afin de reprendre cette variable dans l'URL réécrite ?

Dernière question. Est-il possible de supprimer le répertoire blog dans l'URL réécrite ?
0

#8 L'utilisateur est hors-ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 946
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 29 octobre 2010 - 15:27

La date est trouvée avec ([0-9]{4}/[0-9]{2}/[0-9]{2}/) donc on prend dans celle-ci le dernier /
Comme dans 2010/01/01/ ...

C'est pour cette raison que je ne mets pas $1/$2 mais $1$2 vu que le '/' se trouve en fin de $1.

Si tu veux utiliser $1/$2, il faut enlever le dernier / de la date, comme ceci :
RewriteRule index.php/([0-9]{4}/[0-9]{2}/[0-9]{2})/[0-9]+-(.*)$  http://www.monsite.tld/blog/$1/$2/ [R=301,L]

à toi de voir ! Ca ne change rien au niveau de l'URL réécrite !

Pour supprimer "blog/" de la réécriture, il faut que ton installation de Wordpress soit à la racine, et non dans "blog/" ...

Dan

PS: le (.*) permet de prendre TOUS les caractères, le (-[a-z]*) ne prend que les caractères de 'a' à 'z' et le tiret '-'
PS2: tu n'as pas besoin de l'id des articles sous Wordpress
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#9 L'utilisateur est hors-ligne   sablier 

  • Groupe : Membre
  • Messages : 6
  • Inscrit(e) : 28-octobre 10

Posté 29 octobre 2010 - 16:39

Un grand merci car j'ai l'impression d'avoir compris et je n'aime pas faire quelque chose que je ne comprends pas.

Je vais tester cela ce soir.
0

#10 L'utilisateur est hors-ligne   sablier 

  • Groupe : Membre
  • Messages : 6
  • Inscrit(e) : 28-octobre 10

Posté 31 mars 2011 - 15:09

Voir le messagesablier, le 29 octobre 2010 - 16:39, dit :

Un grand merci car j'ai l'impression d'avoir compris et je n'aime pas faire quelque chose que je ne comprends pas.

Je vais tester cela ce soir.


Le test est intervenu beaucoup plus tard que je ne l'imaginais.

Voilà la situation aujourd'hui :

J'ai un blog sous Dotclear installé chez OUvaton directement à la racine (/html).

Je souhaite profiter de la migration de mon blog vers wordpress pour le déplacer vers un répertoire html/blog. La migration de Dotclear vers Wordpress s'est déroulée sans problème. J'ai pu récupérer tous mes billets.

Comme je ne veux pas perdre mes anciens liens j'ai créé sur vos conseils un fichier htaccess contenant :
--------------------------
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} [0-9]+/[0-9]+/[0-9]+/[0-9]+-.+
RewriteRule ^index\.php$ http://www.monsite.org/blog/%{QUERY_STRING}/? [R=301,L]
RewriteRule ^([0-9]+)[/]([0-9]+)[/]([0-9]+)[/][0-9]+-(.+)$
 http://www.monsite.org/blog/$1/$2/$3/$4? [R=301,L]

---------------------------

J'ai placé ce fichier htaccess dans la répertoire /html.

Rien ne se passe. Lorsque j'accède à www.monsite.org j'ai toujours accès à mon blog sous Dotclear. Je dois aller sur www.monsite.org/blog pour trouver mon site sur wordpress

Que dois-je faire pour réaliser cette redirection.

Merci

Ce message a été modifié par sablier - 31 mars 2011 - 15:10.

0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)