[Résolu] Champ REDIRECTION d'un nouvel article initialisé par défaut à ''

Configuration

  • SPIP 4.3.5
  • PHP Version 8.3.15
  • MariaDB version 10.11.6
  • Debian 12

Problème
Lorsque je crée un nouvel article, le champ REDIRECTION est initialisé à '' (deux simples quotes) et SPIP le considère comme un article redirigé. L’article existe, je peux le prévisualiser et en modifier le contenu via l’interface d’administration mais il m’est impossible de le consulter. L’url vers laquelle il est supposé être redirigé n’existant pas, activer le lien débouche sur une erreur 404 :

  • dans l’interface d’administration, le lien pointe sur l’url https://monsite.org/ecrire/''
  • si je publie en ligne l’article, les liens pointent sur l’url https://monsite.org/''

Contournement
En première approche, le problème est simple à contourner. Il suffit que j’efface le contenu du champ REDIRECTION et que je valide ma saisie par Entrée. L’article n’est alors plus considéré comme « redirigé » et tout va bien. Mais ce n’est pas satisfaisant car la répétition systématique du problème signifie que quelque chose ne tourne pas rond sur ce site, potentiellement bien au-delà de ce symptôme.

Ce que j’ai essayé sans succès

Le site en question a été piraté et je pensais l’avoir remis en état en suivant la procédure indiquée sur le forum. Le site étant construit sur les squelettes de distribution, je pensais avoir fait le nécessaire. Jusqu’au moment où il a fallu créer un nouvel article. J’ai donc voulu aller plus loin…

Sur une VM vierge, j’ai transplanté la base de donnée du site et procédé à l’installation d’un SPIP neuf partir de spip_loader, en pointant sur cette base. La sauvegarde et la restauration de la base on été faites via MariaDB.

Au cours du processus d’installation, j’indique la base de données restaurée et l’installation se poursuit sans anomalie. Au final, je retrouve tous les articles créés, les stats, les identifiants, etc. Mais lorsque je crée un nouvel article, je retrouve le problème signalé en début de ce message :unamused: Je n’ai pourtant rapatrié aucune ligne de code, aucun squelette, aucune image, ni réinstallé aucun des 2 plugins du site de production (Brèves et Google Analytics).

Tout ce passe comme si, cette valeur par défaut de redirection était encodée dans la base de données…

Merci d’avance pour vos conseils et pistes à explorer.

Bonsoir Kali

Eh beh, as tu regardé ?
Avec phpMyAdmin tu peux aller voir s’il y a une valeur par défaut définie pour le champ, et la vider.

Bonjour Jean-Luc,
Merci pour ta suggestion. La difficulté est que je ne sais pas dans quelle table serait censé se trouver ce champ dont je ne connais pas le nom (en base).
Dans l’interface d’admin, le label du champ de formulaire étant « REDIRECTION », j’avais effectué une recherche en texte intégral de « redirection » (sans forcer la casse) dans le fichier du dump sql de la base transplantée. J’avais trouvé cette chaîne de caractères (en bas-de-casse ou en capitales) en plusieurs endroits mais rien qui ressemble à une valeur par défaut :

  • l’enregistrement du paramètre de configuration qui autorise les redirections ('articles_redirection','oui','oui','2010-01-06 17:14:19') dans les données de la table « spip_meta ».
  • pas mal de phrases des données de la table « spip_paquets ».

C’est le champ virtuel dans spip_articles

C’est intrigant ce souci… Est-ce que tu as besoin des articles virtuels ? Est-ce que tu peux les désactiver pour voir ce que ça donne ? Configuration / Contenu du site

Ceci-dit ce n’est absolument pas normal que la valeur par défaut se mette à '' Chez moi, articles virtuels activés, le champ est vide. La structure a pour valeurs

`virtuel` text NOT NULL
1 « J'aime »

dans spip_articles - structure ’
j’ai
virtuel text utf8_general_ci Non Aucun(e)
soit type : texte
interclassemen :utf8_general_ci ( tu peux avoir autre chose)
valeur par defaut : aucune

peux t etre as tu «  » dans "valeur par defaut "

Un grand merci à vous !
Effectivement, la valeur par défaut du champ « virtuel » définie dans la table « spip_articles » n’était pas vide. Elle contenait \'\'. Soit exactement la valeur qui était attribuée lors de la création d’un nouvel article, aux caractères d’échappement près.
Après effacement de cette valeur par défaut et enregistrement de la modification, les articles que je crée n’ont plus de redirection par défaut :slightly_smiling_face:
Je vais voir comment indiquer sur le forum que le problème est résolu
Je ne sais pas comment cette valeur s’est retrouvée modifiée. Ce n’est peut-être pas une conséquence du piratage. Ça ressemble à ce que pourrait produire un changement d’encodage…
@baloo Dans le même ordre d’idées, je constate que la valeur par défaut du champ url_site, dans la même table de structure, est également fixée à \'\'. Peux-tu me dire si tu as « aucune » sur cette valeur ? (promis j’arrête là ou je crée un nouveau sujet)

c’est pareil pour url_site
pour mettre a resolu il faut mettre [resolu] dans le titre … j’y arrive pas toujours

1 « J'aime »