Redirection selon langue visiteur avec .htaccess
Résolu/Fermé
AnhTuanFevre
Messages postés
219
Date d'inscription
samedi 17 janvier 2015
Statut
Membre
Dernière intervention
24 juillet 2015
-
30 avril 2015 à 17:23
AnhTuanFevre Messages postés 219 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 24 juillet 2015 - 11 mai 2015 à 03:46
AnhTuanFevre Messages postés 219 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 24 juillet 2015 - 11 mai 2015 à 03:46
A voir également:
- Redirection selon langue visiteur avec .htaccess
- Telecharger langue arabe - Télécharger - Bureautique
- Changer langue windows 10 - Guide
- Changer langue facebook - Guide
- Visiteur facebook - Guide
- Telecharger la langue arabe sur le clavier - Télécharger - Divers Web & Internet
3 réponses
animostab
Messages postés
2829
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
11 novembre 2019
737
Modifié par animostab le 1/05/2015 à 02:26
Modifié par animostab le 1/05/2015 à 02:26
Salut
C'est normal
si es dirigé vers /fr/index et ton ordi est en français tu sera continuellement redirigé vers le page /fr/index etc etc --> boucle
tu dois faire une 2eme condition avec request_uri et !^/fr/index
cependant pense que si je suis francais aux etat unis avec un ordi anglais, je ne pourrais jamais acceder à la section en français avec une redirection forcée
si je suis déjà sur une page de ton site, dans ma langue (trouvée par google) autre que index je serais redirigé vers index donc fais plutot une redirection vers la page correspondante sans oublier la condition qui évite la boucle pour toute la section /fr
exemple un truc du genre
RewriteRule ^/en/(.*)$ /fr/$1
Mais le mieux reste de donner le choix :
si ton site a la meme arborescence dans chaque langue je ferais plutot des drapeaux avec lien généré en php vers la page de la langue correspondante (pour chaque page)
récuperer nom de la page en cours
https://www.developpez.net/forums/d325175/php/langage/obtenir-nom-page-courante/
Un petit merci vaut mieux qu'une grande ignorance !
Donc si votre sujet est résolu une réponse avec merci c'est pas de refus.
C'est normal
si es dirigé vers /fr/index et ton ordi est en français tu sera continuellement redirigé vers le page /fr/index etc etc --> boucle
tu dois faire une 2eme condition avec request_uri et !^/fr/index
cependant pense que si je suis francais aux etat unis avec un ordi anglais, je ne pourrais jamais acceder à la section en français avec une redirection forcée
si je suis déjà sur une page de ton site, dans ma langue (trouvée par google) autre que index je serais redirigé vers index donc fais plutot une redirection vers la page correspondante sans oublier la condition qui évite la boucle pour toute la section /fr
exemple un truc du genre
RewriteRule ^/en/(.*)$ /fr/$1
Mais le mieux reste de donner le choix :
si ton site a la meme arborescence dans chaque langue je ferais plutot des drapeaux avec lien généré en php vers la page de la langue correspondante (pour chaque page)
récuperer nom de la page en cours
https://www.developpez.net/forums/d325175/php/langage/obtenir-nom-page-courante/
Un petit merci vaut mieux qu'une grande ignorance !
Donc si votre sujet est résolu une réponse avec merci c'est pas de refus.
animostab
Messages postés
2829
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
11 novembre 2019
737
Modifié par animostab le 1/05/2015 à 18:54
Modifié par animostab le 1/05/2015 à 18:54
salut
essaie ca
ou si c'est la meme arborescence
Un petit merci vaut mieux qu'une grande ignorance !
Donc si votre sujet est résolu une réponse avec merci c'est pas de refus.
essaie ca
RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (fr) [NC]
RewriteCond %{REQUEST_URI} !^/fr/index$ [NC]
RewriteRule ^(.*)$ http://www.androot.tk/fr/index [R,L]
##
RewriteEngine on
RewriteCond %{HTTP:Accept-Language} !(fr) [NC]
RewriteCond %{REQUEST_URI} !^/en/index$ [NC]
RewriteRule ^(.*)$ http://www.androot.tk/en/index [R,L]
ou si c'est la meme arborescence
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/fr/.*$
RewriteCond %{HTTP:Accept-Language} ^.*fr.*$ [NC]
RewriteRule ^(.*)$ http://www.androot.tk/fr/$1 [L]
RewriteCond %{REQUEST_URI} !^/en/.*$
RewriteCond %{HTTP:Accept-Language} !^.*fr.*$ [NC]
RewriteRule ^(.*)$ http://www.androot.tk/en/$1 [L]
Un petit merci vaut mieux qu'une grande ignorance !
Donc si votre sujet est résolu une réponse avec merci c'est pas de refus.
AnhTuanFevre
Messages postés
219
Date d'inscription
samedi 17 janvier 2015
Statut
Membre
Dernière intervention
24 juillet 2015
16
1 mai 2015 à 23:44
1 mai 2015 à 23:44
Je te remercie énormément ! Je vais tester ça demain. J'espère que ce sera la bonne parce que j'ai testé de nombreux scripts qui n'ont fait que des boucles de redirection.
Normalement ce sera le bon script. Je te dirai demain si c'est le bon.
Normalement ce sera le bon script. Je te dirai demain si c'est le bon.
Bonjour,
Merci pour vos échanges, questions réponses, cela m'a beaucoup aidée, et ça fonctionne bien maintenant !
Je me demandais s'il y avait possibilité de donner l'accès tout de même au site anglais ? Parce que du coup, meme si je clique sur le flag UK de mon site, la redirection me renvoie au .fr (normal...)
En fait je laisse les drapeaux au cas où... Mais là, on dirait juste que mes drapeaux ne fonctionnent pas :)
si vous avez une piste, merci beaucoup !
EDIT : en fait, même pour l'admin, il ne me laisse plus accéder à la version EN. Suis une quiche...
Merci pour vos échanges, questions réponses, cela m'a beaucoup aidée, et ça fonctionne bien maintenant !
Je me demandais s'il y avait possibilité de donner l'accès tout de même au site anglais ? Parce que du coup, meme si je clique sur le flag UK de mon site, la redirection me renvoie au .fr (normal...)
En fait je laisse les drapeaux au cas où... Mais là, on dirait juste que mes drapeaux ne fonctionnent pas :)
si vous avez une piste, merci beaucoup !
EDIT : en fait, même pour l'admin, il ne me laisse plus accéder à la version EN. Suis une quiche...
AnhTuanFevre
Messages postés
219
Date d'inscription
samedi 17 janvier 2015
Statut
Membre
Dernière intervention
24 juillet 2015
16
11 mai 2015 à 03:46
11 mai 2015 à 03:46
Bonjour,
J'espère que cela vous a aidé. Pour ma part j'ai eu quelques problèmes insolvables avec HTACCESS et donc j'ai mis un index.HTML à la racine redirigeant vers l'index correspondant à la langue situé dans un sous-dossier.
J'espère que cela vous a aidé. Pour ma part j'ai eu quelques problèmes insolvables avec HTACCESS et donc j'ai mis un index.HTML à la racine redirigeant vers l'index correspondant à la langue situé dans un sous-dossier.
1 mai 2015 à 09:56
J'aimerai que le script redirige vers la partie française (situé dans un sous-dossier "fr") si le visiteur a un navigateur paramétré en français et si le visiteur n'a pas de navigateur paramétré en français, il sera redirigé par défaut sur la partie anglaise de mon site (situé dans un sous-dossier "en"). J'aimerai également que le script soit plus facilement modifiable pour que je puisse ajouter d'autres langues plus tard.
Tu m'aideras énormément.
Merci de ta compréhension.