Problème de liens
Je viens de migrer un site contenant plus de 5000 articles de SPIP 1.9.2a en 3.0.5 (pour le passage de PHP 4.4.9 à PHP 5.4.12 chez 1&1). Tout s’est passé correctement, si ce n’est un tout petit rien : « certains » liens internes ne fonctionnent pas.
Je vais tenter d’exposer le problème aussi clairement que possible.
Les articles sont une base documentaire avec des liens internes au site lui-même. Un article n°123 dont le titre est toto aura pu être référencé dans plusieurs autres articles avec la syntaxe SPIP (voir->123)
ou (voir->www.monsite.org/toto)
.
La seconde forme de lien pose parfois problème : dans 90% des cas, le lien fonctionne correctement et la gestion des URL propres comme l’URL rewriting font bien leur boulot.
Mon soucis, ce sont les 10% restant, ce qui doit faire plusieurs milliers de liens enfouis dans les articles, et que je ne peux physiquement pas reprendre à la main.
J’arrive maintenant aux suppositions :
il est arrivé, pour différentes raisons que dans l’ancienne version du site, le lien soit de la forme www.monsite.org/toto,123 (collision de nom qui n’a pas duré ?) ou alors www.monsite.org/tutu (changement du titre après coup ?). C’est donc cette forme qui a été écrite dans les articles et un rédacteur aura écrit (voir->www.monsite.org/toto
,123).
Après la migration en SPIP 3.0.5, cet article toto a nécessairement une adresse www.monsite.org/toto. Résultat, le lien ne marche plus.
Ma déduction : lors de l’upgrade de la base pour passer de SPIP1.9.2a à 3.0.5, l’url originale de l’article a été perdue et est toujours recalculée de façon propre. Ca marche presque tout le temps, mais pas toujours et dans mon cas, c’est une catastrophe.
Ce que j’envisage de faire : remplir avec un bout de PHP la table spip_url de SPIP3.0.5 avec les champs url_propre de spip_article de la base SPIP1.9.2a.
Mes questions : est-ce la bonne façon de le faire ? est-ce SPIP3.0.5 va conserver les champs de la table spip_url ou va-t-il s’amuser à les recalculer ?
Merci de me sauver la vie.