seenthis / seenthis_squelettes

plugin "squelettes" de seenthis
11 stars 6 forks source link

Barre oblique finale supprimée des URL ? #264

Open bortzmeyer opened 3 years ago

bortzmeyer commented 3 years ago

Il semble que, quand on seene un URL se terminant par une barre oblique, celle-ci soit supprimée, ce qui entraine une redirection dans la plupart des cas et, dans les pires, un 404. Exemple en https://seenthis.net/messages/907603#message907630

brunob commented 3 years ago

Ça se passe ici https://github.com/seenthis/seenthis/blob/master/inc/traiter_texte.php#L92 et ça ne m'étonnerait pas que ça soit fait volontairement afin de "faciliter" la détection de doublons pour les urls postées.

bortzmeyer commented 3 years ago

Canonicaliser les URL pour faciliter la détection de doublons est une bonne idée, mais on ne doit canonicaliser que des URL équivalents. Or, http://example.org/toto n'est pas équivalent à http://example.org/toto/

brunob commented 3 years ago

Je le pense bien, mais le log de commit d'introduction de cette ligne ne m'aide pas beaucoup à savoir pourquoi elle est là :p

brunob commented 3 years ago

ping @Fil qui pourra peut-être nous dire ce qu'il pense des effets de bord possibles si on retire cette ligne ?

rastapopougros commented 3 years ago

Je pense que c'est un entre deux "voulu" : techniquement c'est pas la même chose oui, mais dans la vraie vie, 99% des sites servent la même page avec ou sans slash de fin (notamment dans plein de CMS). Et souvent sans redirection (donc bien deux URL quasi identiques existantes à la fois). Et du coup en la retirant, on va plus détecter que c'est un truc qui existe déjà, quand les gens écrivent (quand on préfère aller étoiler un seen déjà existant) et dans la table des sites.

Je ne sais pas dire ce qui est le plus pertinent… suivre la norme technique ok, mais si dans la balance ça concerne 1%, c'est couillon de perdre l'avantage pour les 99% autres.

Fil commented 3 years ago

oui c'est exactement ça rasta; suivre la redirection permttrait quand même d'en choper une grosse partie, mais ça implique de lancer une requête sur le site pour savoir, ce qui n'est pas non plus très pratique (s'il ne répond pas, on est cuit)

brunob commented 3 years ago

Et du coup en la retirant, on va plus détecter que c'est un truc qui existe déjà, quand les gens écrivent (quand on préfère aller étoiler un seen déjà existant) et dans la table des sites.

Pas forcément, on pourrait rétablir le lien orignal en fin de fonction pour qu'il récupère son éventuel slash, mais comme celui-ci est trituré dans tous les sens au fil de la fonction j'ai peur des effets de bord :\

Fil commented 3 years ago

Ah mais Stéphane soulève un bug, à savoir on supprime le / qui est parfois utile. C'est donc plutôt dans la détection des doublons qu'il faudrait ignorer ce /, plutôt que dans le lien html rendu !