THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour à tous

Je suis embeté :

j'ai un site thelia en plusieurs langues : FR (défaut, monsite.fr/?lang=1), EN (monsite.fr/?lang=2) et ES (monsite.fr/?lang=3). Cela fonctionne bien avec thelia.

Le nom de domaine principal est monsite.FR (je suis chez ovh, en hébergement mutualisé pro)

J'ai aussi dorénavant le domaine en monsite.COM pour la langue anglaise et en monsite.ES pour la langue espagnole.

Mon objectif :
faire que les internautes :
1/ que les noms de domaine aient une redirection vers la langue adaptée : (j'ai fait une redirection visible, permanente, via manager ovh)
> monsite.fr : pas de redirection bien sûr ! c'est le domaine de l'hébergement
> monsite.com : redirection vers monsite.fr/?lang=2
> monsite.es : redirection vers monsite.fr/?lang=3
2/ soient redirigés vers la version du site de la langue de leur navigateur (s'ils sont anglophones ils sont redirigés vers le COM, hispanophones vers ES, francophones et autres vers FR)

Dans l'absolu, j'aimerais, si c'est possible, que les internautes anglophones (par ex) visitent le site sur le com. C'est à dire qu'au lieu d'avoir l'url :
monsite.fr/hello-darling.html ils aient monsite.COM/hello-darling.html

cela fonctionne bien pour le 1/.
Pour le 2/, rien ne marche ! Ni htaccess, ni javascript, (je n'ai pas essayé php) : et il y a des conflits (boucles de redirection), donc j'annule tout et je ne peux faire cette redirection selon la langue

que dois-je faire ? J'ai essayé aussi de faire une association langue via la configuration thelia (Gestion des langues et URLs du site), mais c'est idem ; pb de boucles et perso j'ai du mal à saisir le principe de cette config.

Voici le code du htaccess :

Options +FollowSymlinks -Indexes

AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ http://www.monsite.fr/?lang=2 [L,R=301]

RewriteCond %{HTTP:Accept-Language} ^es [NC]
RewriteRule ^$ http://www.monsite.fr/?lang=3 [L,R=301]

RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ http://www.monsite.fr/?lang=2 [L,R=301]

</IfModule>

MERCI pour des infos et de l'aide

PY