Redirection domaine.tld vers domaine.tld/page

Bonjour !
J’ai installé il y a peu un Wordpress multisite en domaine.tld/lang= et je souhaiterais avoir une redirection auto en fonction de la langue du user-agent :

  • si un francophone se connecte à domaine.tld, il est redirigé vers domaine.tld/lang=/fr
  • si un anglophone se connecte à domaine.tld, il est redirigé vers domaine.tld/lang=/en
  • si un hispanophone se connecte, etc.

Est-ce possible avec Yunohost ?

J’ai essayé de modifier les redirections directement dans la conf nginx pour au moins avoir la redirection francophone correspondant au site mais Yunohost semble écraser mes modifs. En effet, domaine.tld me ramène toujours vers le nom de domaine racine de mon installation Yunohost… même si je commente :
# location /yunohost/admin {

Quelqu’un a-t-il une idée de la façon de procéder ?
Merci bien !

Léo

Bonjour,
Je pense qu’il y a d’autres solutions, mais tu pourrais peut-être regarder du côté de l’application Yunohost redirect_ynh.
Installer plusieurs instances de WordPress ?
N’y a-t-il pas de mécanisme interne à WordPress ?
Bonne soirée !

Merci pour ta réponse.

redirect_ynh ne permet de rediriger la racine d’un domaine vers un sous-dossier de ce même domaine.

Je ne peux pas installer plusieurs instances de Wordpress car le principe du multilingue en multisite est de pouvoir se concentrer sur le contenu et sa traduction. Par contre, si je ne trouve pas de solution à mon problème c’est probablement ce que je vais faire, à moins de mettre WP en docker à part ou de voir avec le registrar pour une redirection web.

Il y a des mécanismes liés à WP mais il n’est pas installé à la racine du domaine, ce qui fait que lorsque l’on se connecte à ce dernier, on est redirigé sur la page de connexion utilisateur de Yunohost.

Merci pour ta réponse

Avec plaisir, elle n’a pas été d’une grande utilité :frowning:
À la lumière de ce que tu me dis , la solution doit être, comme tu le penses, dans Nginx.
Hélas je ne maitrise pas suffisamment…

Probablement oui, mais tous mes essais de redirection échouent.
Malgré l’obtention de l’URL attendue, je me retrouve systématiquement avec le message (sous Firefox) suivant :

La page n’est pas redirigée correctement
Une erreur est survenue pendant une connexion à domaine.tld.
La cause de ce problème peut être la désactivation ou le refus des cookies.

(Sachant que la dernière phrase n’a pas de rapport avec le problème de redirection.)
J’ai testé les commandes nginx return et rewrite, en précisant directement l’URL ou bien en usant d’expressions régulières mais rien n’y fait. Soit il y a vraiment quelque chose qui m’échappe soit un mécanisme propre à Yunohost entre en conflit avec mes configurations.
À moins que quelqu’un ait une idée, je vais tenter sur une install WP à part de Yunohost.

Salut,

perso je ne sais pas trop ce que tu as tenté d’écrire dans la conf nginx pour traduire ça, mais j’ai du mal à imaginer qu’on puisse faire ça dans nginx directement ? Ça me parraît être un truc à gérer au niveau de l’application elle-même :confused: (Mais peut-être que je me trompe)

En fait je cherche déjà à avoir une redirection fonctionnelle de la racine et des sous-domaines vers le sous-dossier WP multisite. J’y suis arrivé en grande partie.
Entre autres, j’ai réussi à débeuguer le problème précédent qui menait à une redirection infinie due à rewrite, que j’ai tout d’abord mal utilisé.
Tout n’est pas parfait, il y a encore des redirections que Yunohost récupère sans que je comprenne pourquoi mais je sais que le problème vient de mon expression régulière.

Concernant le user agent, il est possible de le faire par nginx directement mais c’est un peu technique. Il me semble qu’il existe des solutions par Wordpress également. Une fois les redirections minimum fonctionnelles j’essaierai plutôt la deuxième piste.

En revanche, une future mise à jour de Yunohost ne risque-t-elle pas d’écraser mes modifs nginx ?

Non, le systeme de gestion de configuration de yunohost gère ça de sorte à ce que un fichier ne sera pas supprimé / modifié si tu l’as modifié manuellement …

Par contre c’est à toi de veiller à ce que raconte la regenconf lors des mise à jour, et à regarder les différences à coup de yunohost tools regen-conf --dry-run -d

Il s’agit probablement du SSO, il y a des redirections dans /etc/ssowat/conf.json (et surtout : si il n’y a rien qui dit à SSOwat qu’une page est unprotected / skipped, ssowat refusera par défaut de laisser un accès public à celle-ci)

Ok, j’ai des appels de bdd non fonctionnels dus aux redirections. Je vais opter pour une install à part. Je pense qu’il est possible d’avoir des redirections totalement réussies avec Yunohost mais je ne maîtrise pas assez nginx et les regexp.

Ok c’est bon à savoir.