Difficultés à créer des expressions régulières

Résolu/Fermé
AurelieLi Messages postés 80 Date d'inscription vendredi 15 avril 2016 Statut Membre Dernière intervention 20 juillet 2020 - 21 juil. 2016 à 07:55
AurelieLi Messages postés 80 Date d'inscription vendredi 15 avril 2016 Statut Membre Dernière intervention 20 juillet 2020 - 21 juil. 2016 à 16:45
Bonjour,

J'espère poser ma question au bon endroit :-)

J'ai interrogé la communauté du forum Wordpress francophone mais personne ne semble savoir m'aider et la question ne porte pas directement sur Wordpress. Bien sûr, si la résolution intervenait, je viendrais le dire ici ;-)

Bref, voici ma difficulté :

Je viens tout juste de réussir à migrer mon ancien blog over-blog sur Wordpress. J'ai été aidée pour la partie technique et ai aussi suivi le tuto de cuisine addict : https://cuisine-addict.com/migration-overblog-vers-wordpress/ … wordpress/

Celle-ci indique ce qu'il faut entrer dans le plugin redirection pour que les liens ne soient pas cassés mais je n'arrive pas à adapter à mon cas. J'ai entré les "formules" qu'elle indique mais elles ne semblent pas fonctionner pour mon blog, sans doute parce que les URLs sont différentes. J'ai aussi lu le tuto suivant : http://blog.infowebmaster.fr/1078-plugins-wordpress-referencement … -wordpress

Sur overblog, il y a plusieurs types d'URLs. Celles du début, celles depuis 2011 et d'autres encore, antérieures à mon achat de nom de domaine (c'est moins grave si pas solution pour ces dernières).

La configuration expliquée par Cuisine addict :

Pour Overblog V2, les adresses de vos articles étaient du type:
www.mondomaine.fr/article-titre-de-mon-article-123456
url source: /article-(.*)-(d*).html
url cible: /$1/

Et pour Overblog Kiwi:
www.mondomaine.fr/2014(année)/03(mois)/titre-de-mon-article
url source: /(d*)/(d*)/(.*).html
url cible: /$3/

Malheureusement, aucune de ces expressions n'a fonctionné dans mon cas.

J'ai réussi à réorienter les adresses les plus anciennes :

https://leblogdelili.fr/article-sicile-jour-4-randonnee-volcanique-sur-l-etna-81028230/
(.*).html
https://leblogdelili.fr/article-sicile-jour-4-randonnee-volcanique-sur-l-etna-81028230/
/$1

Par contre, impossible de faire fonctionner les plus récentes.

https://leblogdelili.fr/2015-10-deco-cadeaux-food-et-mode-monoprix-prepare-noel-2015/
La traduction : /(d*)/(d*)/(.*).html
Ce que j'ai testé : /$1-$2-$3
CE QUE JE VEUX : https://leblogdelili.fr/2015-10-deco-cadeaux-food-et-mode-monoprix-prepare-noel-2015/
CE QUE J'AI EU : https://leblogdelili.fr/2015-10-deco-cadeaux-food-et-mode-monoprix-prepare-noel-2015/
Cela ne fonctionne pas non plus avec /$3/

Auriez-vous une idée ?

Savez-vous également s'il existe une solution pour les anciennes URL (liens internes établis il y a plusieurs années avant achat du nom de domaine) ?
http://le-blog-de-lili.over-blog.com/article-sweeney-todd-le-diabolique-barbier-de-fleet-street-au-chatelet-73811900.html

Un grand merci !

Bonne journée :-)



A voir également:

3 réponses

Utilisateur anonyme
21 juil. 2016 à 12:29
Bonjour

je ne me suis pas amusé à lire tous tes tutos, surtout qu'ils pointent eux même vers d'autres tutos....

Le concept de la regex est celui-ci:
Il s'agit d'un outil universel (ou presque) d'analyse et traitement de texte.
Il se base sur un langage universel (ou presque) permettant de définir le modèle de texte à chercher et traiter.
Une fois le(s) texte(s) extrait(s), c'est dans le langage que tu utilises que tu vas coder le traitement, et c'est là que ça diffère le plus, mais pas que, par exemple pour ta regex tu utilises des groupements () que tu récupères par leur numéro, en .Net on peut leur donner un nom, au lieu de se demander qui est 1 ou 2, et bien on utilise annee ou titre.

Il est parfois compliqué de trouver une regex qui représente tous les cas, surtout quand on débute dans ce langage.
Il te faudra peut être écrire une regex par type d'url.

Il existe des sites ou on peut tester le résultat de sa regex. Ce qui est bien pratique.
https://www.google.fr/search?rls=com.microsoft:fr-FR:IE-Address&q=regex+tester+online&spell=1&sa=X&ved=0ahUKEwi8yp_rqITOAhWEAxoKHRkHDtIQvwUIGygA&biw=1366&bih=654

Voilà un tuto bien fait, orienté .Net, mais le début c'est 100% regex
https://lgmorand.developpez.com/dotnet/regex/

Voilà pour la généralité, pour ton cas précis.
Les exemples que tu montres sont une adaptation, en effet d* ne signifie pas un ou plusieurs chiffres comme l'indique le tuto, mais un ou plusieurs d.
La bonne syntaxe serait \d.
Disons que par simplicité ce plugin enlève le \, comment on fait avec le . qui signifie "n'importe quel caractère"? .html signifie donc "n'importe quel caractère suivi de html"
Je me demande si le site n'a pas "mangé" les \.

C'est déjà arrivé ici....
0
Utilisateur anonyme
21 juil. 2016 à 13:43
Voilà un exemple sur un site de test avec la syntaxe normale.



Tu peux agrandir l'image en cliquant dessus.

Le pattern de la regex est
http://www.leblogdelili.fr/(\d{4})/(\d{2})/(.*)\.html

0
AurelieLi Messages postés 80 Date d'inscription vendredi 15 avril 2016 Statut Membre Dernière intervention 20 juillet 2020
21 juil. 2016 à 15:00
Merci encore !
Ca marche avec :
/(\d{4})/(\d{2})/(.*)\.html
/$1-$2-$3
Pour les redirections restantes, je verrai au cas par cas. Je ne pense pas pouvoir rediriger les très vieilles adresses http://le-blog-de-lili.over-blog.com mais ce ne sont pas les URL majoritaires.
Bonne journée :-)
0
Utilisateur anonyme > AurelieLi Messages postés 80 Date d'inscription vendredi 15 avril 2016 Statut Membre Dernière intervention 20 juillet 2020
21 juil. 2016 à 16:18
Le problème avec les vieilles url est qu'il n'y a pas la datation, enfin si tu veux la conserver.

Ce pattern
http://le-blog-de-lili.over-blog.com/(.*).html
retourne le titre en $1.
Tu peux éventuellement tous les classer en janvier 2000
/2000-01-$1
0
AurelieLi Messages postés 80 Date d'inscription vendredi 15 avril 2016 Statut Membre Dernière intervention 20 juillet 2020 > Utilisateur anonyme
21 juil. 2016 à 16:24
La date n'a pas d'importance pour moi.
Par contre, le plugin ne permet malheureusement pas de faire la redirection :
"You can only redirect from a relative URL (/(.*).html) on this domain (leblogdelili.fr)."
Snif :-/
Mais merci ;-)
0
Utilisateur anonyme
21 juil. 2016 à 16:26
Tu peux peut être ajouter un commentaire sur le tuto précisant le manque de \
0
AurelieLi Messages postés 80 Date d'inscription vendredi 15 avril 2016 Statut Membre Dernière intervention 20 juillet 2020 > Utilisateur anonyme
21 juil. 2016 à 16:45
Je vais en parler à la blogueuse qui l'a fait :-) Et j'ai fait un lien vers cette conversation depuis le forum wordpress sur lequel personne n'avait d'idée de réponse ;-)
0
AurelieLi Messages postés 80 Date d'inscription vendredi 15 avril 2016 Statut Membre Dernière intervention 20 juillet 2020
21 juil. 2016 à 14:00
Merci beaucoup pour l'envoi de ces ressources. Je regarde cela de près et te tiens au courant :-)
Bon après-midi !
0