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