Projet

Général

Profil

Development #20760

Gestion des redirections sur changement d'URL

Ajouté par Frédéric Péters il y a plus de 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
18 décembre 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Quand une page change d'URL, parce que son slug est modifié, ou qu'elle est déplacée, il faudrait que l'ancienne localisation assure une redirection (certains diront une 301). (! et toutes les pages dessous)

Mon idée là est d'avoir un modèle genre "Redirections" (avec chemin et page id), dont des objets pourraient être créés lors du .save() d'une page. Et à l'affichage d'une page, au moment où aujourd'hui on retournerait une erreur 404, on chercherait après une redirection possible.


Fichiers

Révisions associées

Révision 13766c1a (diff)
Ajouté par Frédéric Péters il y a presque 6 ans

general: use a model to look for redirection before emitting a 404 (#20760)

Révision c905276c (diff)
Ajouté par Frédéric Péters il y a presque 6 ans

general: keep a redirect on slug and parent changes (#20760)

Historique

#1

Mis à jour par Pierre Cros il y a presque 6 ans

C'est vraiment nécessaire pour pouvoir réorganiser la doc sans douleur et du coup ce serait chouette que quelqu'un prenne ça.

Le chemin tracé par Fred pour y arriver me semble clair et ça ne nécessite pas de connaître les arcanes de Publik.

#2

Mis à jour par Frédéric Péters il y a presque 6 ans

  • Assigné à mis à Frédéric Péters

Mais bon, passons.

#4

Mis à jour par Frédéric Péters il y a presque 6 ans

Une version qui ajoute au modèle un timestamp, pour assurer qu'en cas de succession de changements, ça soit la plus récente référence qui l'emporte.

#5

Mis à jour par Christophe Siraut il y a presque 6 ans

si je comprends bien la gestion des redirect est automatisée et transparente pour les utilisateurs; du coup les URL passées ne sont jamais "libérées"? J'imagine qu'un utilisateur pourrait vouloir déplacer une page et recréer une autre au nom de la première, c'est mal oui mais c'est possible.

#6

Mis à jour par Frédéric Péters il y a presque 6 ans

Et ça ne donnerait pas une 404 et la page attendue serait servie. Dans la deuxième version du patch j'ai ajouté un timestamp, il peut aussi servir à "expirer" les redirections.

#7

Mis à jour par Christophe Siraut il y a presque 6 ans

Perso le coté invisible/magique pour l'utilisateur m'ennuie un peu, j'aimerais
voir affichée la liste des redirections dans une section de la page
d'édition du backoffice; cela peut être ajouté utiltérieurement.

Le patch répond au besoin immédiat et est cohérent, ack.

#8

Mis à jour par Frédéric Péters il y a presque 6 ans

  • Statut changé de Solution proposée à Résolu (à déployer)
commit c905276c4570c8da4b38d5eab474bde3d7764adf
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Jul 12 21:32:59 2018 +0200

    general: keep a redirect on slug and parent changes (#20760)

commit 13766c1a282ddc34b6e0eb2cbac9576f85f89f95
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Jul 12 20:45:37 2018 +0200

    general: use a model to look for redirection before emitting a 404 (#20760)
#9

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF