MODIF : j’ai changé le titre du sujet pour qu’il corresponde au problème que j’ai découvert, grâce aux réponses ci-dessous
Je rencontre un comportement étrange avec les permaliens lors de mes travaux de migration.
Mon problème n’est pas celui des liens internes qui ne redirigent pas. Je teste simplement cela en collant des URL dans la barre d’adresse de mon navigateur.
Voici les deux redirections que je souhaite voir se produire lors de mes tests :
C’est une redirection de message, elle devrait rediriger vers le deuxième message comme ceci :
C’est une redirection de sujet, elle devrait aller vers :
Je sais que mes normalisations fonctionnent correctement. Mon expression régulière est :
/(?:.*)(\/)(?<topicid>\d*.)-(.[^\/#\?]*)(?<parm>\?(\w*)[=](?<start>\d+))?(?:\/)?(\D+(\/)?)?(?<postid>\d+)?(?:\/)?/normalized.\k<topicid>.\k<postid>
Et je les vérifie dans la console rails :
irb(main):069:0> Permalink.normalize_url('https://community.suitecrm.com/languages/17978-why-two-italian-language-packs#16249')
=> "normalized.17978.16249"
irb(main):068:0> Permalink.normalize_url('https://community.suitecrm.com/languages/17978-why-two-italian-language-packs')
=> "normalized.17978."
C’est ce que je voulais obtenir. J’ai ceci dans ma table Permalinks :
Et voici à quoi cela ressemble dans la base de données :
Mais lorsque j’entre ceci dans l’URL du navigateur :
Il est redirigé vers :
Au lieu de ce qu’il devrait être :
Donc, je vois le premier message, il ne défile pas vers le deuxième comme il devrait.
Pourquoi ce hash #16249 est-il réajouté, alors que ma normalisation l’a supprimé ?
Une autre façon d’exposer cette incohérence (bien que de manière un peu artificielle) est d’essayer les redirections suivantes depuis la barre d’adresse du navigateur :
https://community.suitecrm.com/normalized.17978.
redirige correctement vers :
Reports disappeared - 💬 General Discussion - SuiteCRM
Et Why two Italian language packs? - #2 by roberto - Translation and Language Packs - SuiteCRM
redirige correctement vers :
Reports disappeared - #2 by erevodifosin - 💬 General Discussion - SuiteCRM
Alors pourquoi cela ne fonctionne-t-il pas lorsqu’on suit le processus normal ?


