Sitecof: Récriture des URLs publiques #752
No reviewers
Labels
No labels
devtype -- backend
devtype -- docs
devtype -- frontend
devtype -- user interface
difficulty -- easy
difficulty -- hard
difficulty -- normal
Doing
domain -- bda
domain -- bds
domain -- cof
domain -- core
domain -- kfet
Good first issue
priority -- high
priority -- low
priority -- medium
priority -- staff-wanted
status -- development
status -- discussion
status -- need review
status -- production
status -- ready to merge
status -- todo
To Do
type -- bug
type -- hygiene
type -- improvement
type -- new feature
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: DGNum/gestioCOF#752
Loading…
Reference in a new issue
No description provided.
Delete branch "Evarin/sitecof-rewrite-urls"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Pour éviter que le site du COF ait des URL à rallonge (/gestion/sitecof/fr/présentation/), on rajoute une couche de récriture des URLs, à combiner avec un reverse-proxy dans la config Nginx.
En pratique, pour connaître l'URL d'une page, Wagtail fait appel à la fonction
Page.get_url_parts(...)
. Cette MR rajoute donc pour les pages du site du COF un mixin qui surchargeget_url_parts
en appliquant une simple récriture de l'URL relative selon des patterns indiqués dans les settings.il reste un print
changed this line in version 2 of the diff
added 1 commit
d1f5cb68
- Print oubliéCompare with previous version
Oupsi
resolved all discussions
Ça ne fonctionnera pas en production car Django/wagtail ne voient pas le
/gestion/
. Ce qui se passe c'est :/sitecof/présentation
/gestion
devant toutes les urls locales, et donne la page à nginxLa seule façon d'éviter que le
/gestion/
soit ajouté est de produire des urls absolues, ça doit pouvoir se faire dans la fonction get_url je pense. En testant si on est en prod avecsettings.DEBUG
.Oh wow je me posais la question justement du statut de ce
/gestion
. Pourquoi Daphne pourrait pas récrire elle-même les urls dans ce cas ? Ça éviterait qu'il y ait des récritures d'urls partout, tout serait centralisé en un endroit...J'ai aucune idée si on peut faire ça et si oui comment, mais je peux regarder, effectivement ce serait bien
Sinon forcer l'écriture d'urls complètes ça se fait a priori en trois lignes en rajoutant au mixin :
Et en enlevant le prefixe
gestion/
du rewrite ça devrait marcher.Je doute que ça soit faisable via daphne... La partie
/gestion
correspond juste à la variableSCRIPT_NAME
de la spec WSGI, donc ça n'est pas vraiment une réécriture custom.En fait, on n'a pas besoin de "récrire" les urls, il suffit de forcer les urls absolues, qui s'écriront sans
gestion/
, et de rajouter legestion/
par reverse-proxy. C'est un peu sale mais plus simple que tout ça.mentioned in merge request !449
mentioned in merge request !450
closed
Pull request closed