[spip-dev] Redirections ne fonctionnent plus en «propre»?

Hello,

Je viens de découvrir le problème sur deux site en développement: les articles virtuels (redirections) ne fonctionnent pas en URL propres quand on fait des liens «internes» (du genre: «art231». Dans l'espace privé, ça fonctionne comme d'hab, avec reconnaissance de la redirection, ça affiche bien le pavé au centre de la page («Cet article renvoie à la page...»).

En revanche, sur le site public, ça fabrique une URL à rallonge, du style:
http://www.monsite.com/francais/accueil-844/a-la-une-859/article/categoriesaplacerenpgedaccueil/a-la-une-846/article/rama-yade-a-la-rencontre-de-l-2625

Qui est l'URL de l'article redirigé (jusqu'au premier /article) suivie de l'URL de l'article cible. Et ça ne m'affiche pas l'article visé.

Les sites sont en 2.0.8 et en 2.0.9.

Arnaud

Quelle andouille: ça n'est pas en URL «propres» que j'ai le souci, mais bien en «arbo» (pour obtenir l'URL à rallonge de l'exemple, il faut bien ça).

Bref: en mode «arbo», les URL des articles virtuels ont une forme interminable, et la redirection ne se fait pas du tout. Ça me le fait en 2.0.8 et en 2.0.9.

Arnaud

Bon, les articles virtuels en mode arbo ne fonctionnent toujours pas, et je ne parviens pas à trouver où se construisent les redirections.

J'ai un «workaround» qui fait que ça fonctionne (ou fonctionnouille, plutôt): si je configure arbo pour ne pas ajouter «/article/» dans l'URL, je me retrouve toujours avec une URL à rallonge, mais celle-là, bizarrement, est bien interprétée et pointe bien vers l'article cible. C'est d'ailleurs ce que j'avais sur mes sites avant-2.0.8, dans lesquels les URL arbo n'avaient pas ce /article/: des URL interminables, mais ça fonctionne.

Comme je ne trouve pas dans le code de SPIP où se déroule le reroutage des articles virtuels, je n'arrive même pas à commencer à cerner le problème :slight_smile:

Arnaud

Bonjour,

Je constate aussi ce problème d’URL à rallonge en 2.0.9 lorsque je fais une redirection vers un autre article, je me retrouve avec une URL du type :
http://xxx/arbo_vers_article_virtuel/arbo_vers_article_de_redirection/titre_de_mon_article.html

Voilà pour ma configuration de arbo :

$GLOBALS[‘type_urls’] = ‘arbo’;
$GLOBALS[‘url_arbo_terminaisons’] = array(
‘rubrique’ => ‘/’,
‘mot’ => ‘’,
‘groupe’ => ‘/’,
‘defaut’ => ‘.html’
);
define(’_urls_arbo_sans_type’,1);
define(’_url_arbo_minuscules’,1);
define(’_url_minuscules’,1);
define(’_url_arbo_sep_id’,’-’);
$GLOBALS[‘url_arbo_parents’]=array(
‘article’=>array(‘id_rubrique’,‘rubrique’),
‘rubrique’=>array(‘id_parent’,‘rubrique’),
‘breve’=>array(‘id_rubrique’,‘rubrique’),
‘site’=>array(‘id_rubrique’,‘rubrique’),
‘mot’=>array(‘id_groupe’,‘groupes_mot’));
$GLOBALS[‘url_arbo_types’] = array(
‘rubrique’ => ‘’,
‘article’ => ‘’,
‘groupes_mot’ => ‘’,
‘mot’ => ‘’,
‘auteur’ => ‘auteurs’
);
define(’_URLS_ARBO_MIN’, 2);
define(’_URLS_ARBO_MAX’, 500);

HIH,
Thomas

Bonjour,

Je tombe à mon tour sur ce problème, avec SPIP 2.0.10 SVN [14712]

Une idée de correction, avant que je creuse les URL arbo ?

-Nicolas

Moi j’essayerai bien un url_absolue($url) à la ligne
http://trac.rezo.net/trac/spip/browser/branches/spip-2.0/ecrire/public/parametrer.php#L206

Sans garantie aucune.
Cédric

Moi j’essayerai bien un url_absolue($url) à la ligne
http://trac.rezo.net/trac/spip/browser/branches/spip-2.0/ecrire/public/parametrer.php#L206
Sans garantie aucune.

Non, ça ne marche pas, et à vrai dire on n’entre pas dans cette fonction, c’est peut-être ça le problème…

sans aucun doute, c’est là qu’est censée se faire la redirection sur les articles virtuels.
Cédric

Trouvé, c’est le plugin « Squelette par mot clef pour Spip V2.x » qui surcharge violemment tout “public/parametrer.php” avec une version qui ne fait pas cette vérification… :frowning:

Thomas, ARNO*, vous confirmez que vous aviez ce problème sur des SPIP avec le plugin « Squelette par mot clef pour Spip V2.x » ?

Une idée de la facilité de migration vers « Compositions » ?

Trouvé, c’est le plugin « Squelette par mot clef pour Spip V2.x » qui surcharge violemment tout « public/parametrer.php » avec une version qui ne fait pas cette vérification… :frowning:

Thomas, ARNO*, vous confirmez que vous aviez ce problème sur des SPIP avec le plugin « Squelette par mot clef pour Spip V2.x » ?

Dans ce cas précis, je n’utilise pas le plugin mot clef v2… En revanche, si ça peut aider, j’utilise : Bonux, CS et CFG

Thomas

Nicolas Hoizey a écrit :

Trouvé, c'est le plugin « Squelette par mot clef pour Spip V2.x » qui surcharge violemment tout "public/parametrer.php" avec une version qui ne fait pas cette vérification... :frowning:

Tu peux déjà reprendre la surcharge… ça doit pas être le plus dur… mais je vois pas pourquoi il surchargerait cela justement (je pense qu'il est directement supprimable public/parametrer qui semble un vieux fichier pas à jour). Par ailleurs, il faudrait refaire l'autre surcharge public/styliser avec le pipeline «styliser» aussi. Ça éviterait certainement toute la surcharge de «public/».

Tu peux trouver des exemples dans : SpipClear, Composition, Zen (de mémoire).

J'ai commencé à migrer vers Compositions qui semble une alternative plus propre et « moderne »...

J'ai quand même mis Francois Sauterey en copie, pour qu'il voit ce qu'il peut faire, vu que c'est lui qui a fait l'adaptation SPIP 2 :
http://www.spip-contrib.net/SPMC-Squelette-par-mot-cle-V2-0

-Nicolas

Nope. Vu ce que je raconte systématiquement contre l'utilisation «technique» des mots-clés, je me vois mal utiliser un plugin ayant un tel intitulé :-))

J'ai le problème sans aucun plugin.

Arnaud

Thomas, ARNO*, vous confirmez que vous aviez ce problème sur des SPIP avec le plugin « Squelette par mot clef pour Spip V2.x » ?

Nope. Vu ce que je raconte systématiquement contre l'utilisation «technique» des mots-clés, je me vois mal utiliser un plugin ayant un tel intitulé :-))

Effectivement... :wink:

J'ai le problème sans aucun plugin.

Alors là c'est plus louche, moi je n'ai plus le problème depuis que j'ai désactivé « Squelette par mot clef pour Spip V2.x ».

-Nicolas

Thomas, ARNO*, vous confirmez que vous aviez ce problème sur des SPIP avec le plugin « Squelette par mot clef pour Spip V2.x » ?

Nope. Vu ce que je raconte systématiquement contre l’utilisation «technique» des mots-clés, je me vois mal utiliser un plugin ayant un tel intitulé :-))

Ah, Ah, te voila démasqué !

J’ai le problème sans aucun plugin.

Si tu peux essayer le patch que je proposais plus haut, consistant a passer l’url du Location: en absolue.

Cédric

Bon, j'ai supprimé public/parametrer.php... En réalité ce fichier ne
servait à RIEN !!!
j'ai commité sur la zone.

Je verrais les critique sur styliser.php plus tard, si maintenant ça ne
bloque plus.

@micalement,
Francois

Nicolas Hoizey a écrit :

Nicolas Hoizey a écrit :
Par ailleurs, il faudrait refaire l'autre surcharge public/styliser avec le pipeline «styliser» aussi. Ça éviterait certainement toute la surcharge de «public/».

Fait dans le Trunk du plugin par Connexion · GitLab
Je laisse le soin à François de reporter s'il le souhaite dans la branche 2.

J'ai commencé à migrer vers Compositions qui semble une alternative plus propre et « moderne »...

Ouais ouais… de ce qu'en dit l'auteur uniquement :stuck_out_tongue:

(bon, je suis aussi adepte de composition, j'avoue !)

Non, sérieusement, c'est vraiment top en remplacement des squelettes par mots clefs. Simple à mettre en place, et beaucoup plus compréhensible par les utilisateurs, puisqu'avec une interface dédié.

Je n'ai pas encore trouvé où sont utilisées les icônes par contre.

-Nicolas