Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2008-11-06 01:14:35

Djouls
Membre
Inscription : 2004-11-16
Site Web

Personnalisation d'URLS et DC1redirect

Hello

Je souhaitais ne pas perdre mon référencement sur google ainsi que sur d'autres blogs
Je viens de passer de Dotclear 1.2.x en 2.1, plusieurs blogs rassemblés en un (+4000 billets, ça rame un peu)

Dans mes Dotclear 1.2.x j'avais installé personalisation d'URLS afin d'avoir des URL du type :
monblog.com/index.php/titre-du-billet

J'ai installé dc1redirect et ai modifié le code de son _public.php
$core->url->register('redir_post','','^(\d{4}/\d{2}/\d{2}/\d+.+)$',array('dcUrlRedirect','redir_post'));
par
$core->url->register('redir_post','','^(.+)$',array('dcUrlRedirect','redir_post'));

ça marche, tous mes anciens liens sont redirigés nickel
seul probleme : la pagination en home ne marche plus
http://www.parisdjs.com/index.php/page/2 -> le document n'existe pas

si je modifie mon code par
$core->url->register('redir_post','','^(\d.+)$',array('dcUrlRedirect','redir_post'));
ma pagination fonctionne mais mes anciens billets pointent vers des URL non reconnues (il leur manque le "/post")

Je n'ai pas trouvé de solution sur le forum pour l'instant...
Peut-être ai-je moyen de modifier le fonctionnement de la pagination??

Hors ligne

#2 2008-11-06 06:24:39

Lomalarch
Responsable du photocopieur
Lieu : Colombes (92)
Inscription : 2006-05-02
Site Web

Re : Personnalisation d'URLS et DC1redirect

essaie peut-être $core->url->register('redir_post','','^((^page)[a-z].+)$',array('dcUrlRedirect','redir_post')); de façon à spécifier que les anciennes url de post commencent par une minuscule et d’exclure la chaîne "page" de la redirection (mais je ne garantis rien; les expressions régulières me restent une langue très étrangère).


RTFM attitude : https://fr.dotclear.org/documentation/2.0
Le chantier tips, tutos et astuces : http://tips.dotaddict.org/
Rien nulle part??? une petite recherche sul’ forum, alors?: https://forum.dotclear.org/search.php ?

Hors ligne

#3 2008-11-06 12:12:16

Djouls
Membre
Inscription : 2004-11-16
Site Web

Re : Personnalisation d'URLS et DC1redirect

j'aime bien l'idée...

je teste sur un billet http://www.parisdjs.com/index.php/loik- … is-the-one
qui doit renvoyer vers http://www.parisdjs.com/index.php/post/ … is-the-one
mais ton code ne marche pas ça ne marche pas "The document you are looking for does not exists"...alors qu'avec mon code ça fonctionnait.

Pour la pagination, je teste sur http://www.parisdjs.com/index.php/page/2
mon code ne marchait pas (normal), le tien nickel.

Hors ligne

#4 2008-11-06 12:22:00

Djouls
Membre
Inscription : 2004-11-16
Site Web

Re : Personnalisation d'URLS et DC1redirect

hum... j'ai checké les expressions régulières
[^abc] désigne l’ensemble {caractères qui ne sont pas a, b et c})
donc pour exclure ma pagination ça serait peut-être plus de la forme [^(page)] pour ecrire mon exclusion

si j'écris donc :
$core->url->register('redir_post','','^([^(page)][a-z].+)$',array('dcUrlRedirect','redir_post'));
mes trois liens ci-dessus (billet avec ou sans /post, pagination) fonctionnent!!

En espèrant que je ne vais pas avoir d'autres liens qui plantent.... en tous cas merci!!

Hors ligne

#5 2008-11-06 13:29:12

Djouls
Membre
Inscription : 2004-11-16
Site Web

Re : Personnalisation d'URLS et DC1redirect

ah mince j'ai posté dans le forum DC1 au mieu du DC2.... sorry

Hors ligne

#6 2008-11-06 14:08:42

Kozlika
Modo dcTeam
Inscription : 2004-05-08
Site Web

Re : Personnalisation d'URLS et DC1redirect

J'ai déplacé :-)


La documentation : http://doc.dotclear.net/2.0/fulltoc
Le module de recherche du forum : http://www.dotclear.net/forum/search.php ?

Hors ligne

#7 2008-11-06 20:10:50

Lomalarch
Responsable du photocopieur
Lieu : Colombes (92)
Inscription : 2006-05-02
Site Web

Re : Personnalisation d'URLS et DC1redirect

Pour répondre à ton autre question, je passerai, à ta place par un export via l’outil d’import/export de dotclear, puis recherche/remplacement dans le fichier texte obtenu et réimport. Attention, pour un export simple, tes anciennes entrées seront conservées (tu auras donc les billets en double). En revanche, un export complet écrasera toutes les données du blog lors du réimport ;-)


RTFM attitude : https://fr.dotclear.org/documentation/2.0
Le chantier tips, tutos et astuces : http://tips.dotaddict.org/
Rien nulle part??? une petite recherche sul’ forum, alors?: https://forum.dotclear.org/search.php ?

Hors ligne

#8 2008-11-07 01:23:30

Djouls
Membre
Inscription : 2004-11-16
Site Web

Re : Personnalisation d'URLS et DC1redirect

J'ai exporté tout mon blog (export complet). J'ai ouvert avec un editeur de texte, puis copié/collé toutes les lignes de la table DC_post [post post_id,blog_id,user_id,cat_id,post_dt,post_tz,post_creadt,post_upddt,etc.] dans un nouveau fichier texte.
Dans ce dernier, j'ai utilisé le rechercher/remplacer en mode Grep :
Recherche 1 : "post","xhtml","\d\d\d\d/\d\d/\d\d/\d\d\d\d-
Recherche 2 : "post","xhtml","\d\d\d\d/\d\d/\d\d/\d\d\d-
Recherche 3 : "post","xhtml","\d\d\d\d/\d\d/\d\d/\d\d-
Recherche 4 : "post","xhtml","\d\d\d\d/\d\d/\d\d/\d-
Remplacement par : "post","xhtml","
(mes billets s'étalent de 1997 à 2009 - 4 chiffres, mes mois de 1 à 12 - 2 chiffres, mes jours de 1 à 31 - 2 chiffres, mes numeros de billets de 1 à 5000 donc de 1 à 4 chiffres)
Ensuite j'ai recopié ma table dans mon fichier d'export (dont j'ai fait un backup auparavant)
Je l'upload dans mon dossier public
et ensuite je réimporte avec l'outil d'import/export...

Erreurs :
Cannot delete or update a parent row: a foreign key constraint fails (`kraked73_dotclear2/dc_agenda`, CONSTRAINT `dc_fk_post_id` FOREIGN KEY (`post_id`) REFERENCES `dc_post` (`post_id`) ON DELETE NO ACTION ON UPDATE NO ACTION) (1451)

Je vais dans phpmyadmin et je vide la table dc_agenda (j'avais essayé le plugin puis l'avais effacé - peut-être puis-je supprimer la table vide d'ailleurs ??)
je vais dans mon fichier texte d'export et je supprime l'entrée dans la table dc_post correspondant à un "event" - créé avec le plug agenda quand je l'avais testé

je recommence mon import...

Erreurs :    * Duplicate entry 'titre-d-un-billet-doublon' for key 2 (1062)

J'avais prévu le coup et préparé dans un fichier XLS la liste de mes eventuels billets doublons (provenant de l'importation de plusieurs blogs).
Je modifie les URLS des billets doublons, j'en profite pour faire un peu de nettoyage (en faisant des backups des versions au fur et à mesure) dans les liens internes de mes billets....
Je relance l'import après avoir uploadé mon nouveau fichier dans mon dossier public... Contenu importé avec succès!

MERCI MERCI MERCI CETTE COMMUNAUTE EST D'UNE AIDE PRECIEUSE A CHAQUE FOIS
(c'est pour cela que je poste mes manips, ça peut servir à un autre novice....)

Hors ligne

#9 2008-11-07 09:58:47

Lomalarch
Responsable du photocopieur
Lieu : Colombes (92)
Inscription : 2006-05-02
Site Web

Re : Personnalisation d'URLS et DC1redirect

Merci pour le retour détaillé :-)


RTFM attitude : https://fr.dotclear.org/documentation/2.0
Le chantier tips, tutos et astuces : http://tips.dotaddict.org/
Rien nulle part??? une petite recherche sul’ forum, alors?: https://forum.dotclear.org/search.php ?

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map