Script PHP : affichage la langue en fonction du navigateur
13 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Script PHP : affichage la langue en fonction du navigateur
Bonjour,
Je voudrais vous demander un renseignement:
Comment faites vous, en PHP / MySQl pour détecter automatiquement la langue du navigateur et par la suite, de redirectionner l'internaute vers la page acceuil de sa langue préférence?
Je dispose un petit site en PHP/mySQL qui contient 3 langues Français, Anglais, Espagnol.
Les URL sont les suivant :
-www.monsite.com/index_fr.php
-www.monsite.com/index_uk.php
-www.monsite.com/index_es.php
Si la langue n'est pas idetifié sur le navigateur de l'internaute, la page d'accueil par défaut sera affichée : -www.monsite.com/index_fr.php
Est ce qui vous connaissez un script tout fait qui permettra de faire cela?
Merci d'avance!
PS: Enfait ,j'ai trouvé ce ci mais je n'arrive pas à adapter à mon cas, aidez moi s'il vous plaît: Merci
<?
if (!isset($Langue)) {
$Langue = explode(",",$HTTP_ACCEPT_LANGUAGE);
$Langue = strtolower(substr(chop($Langue[0]),0,2));
}
?>
<? else {
header("Location: /index.php?Langue=fr");
} ?>
Je voudrais vous demander un renseignement:
Comment faites vous, en PHP / MySQl pour détecter automatiquement la langue du navigateur et par la suite, de redirectionner l'internaute vers la page acceuil de sa langue préférence?
Je dispose un petit site en PHP/mySQL qui contient 3 langues Français, Anglais, Espagnol.
Les URL sont les suivant :
-www.monsite.com/index_fr.php
-www.monsite.com/index_uk.php
-www.monsite.com/index_es.php
Si la langue n'est pas idetifié sur le navigateur de l'internaute, la page d'accueil par défaut sera affichée : -www.monsite.com/index_fr.php
Est ce qui vous connaissez un script tout fait qui permettra de faire cela?
Merci d'avance!
PS: Enfait ,j'ai trouvé ce ci mais je n'arrive pas à adapter à mon cas, aidez moi s'il vous plaît: Merci
<?
if (!isset($Langue)) {
$Langue = explode(",",$HTTP_ACCEPT_LANGUAGE);
$Langue = strtolower(substr(chop($Langue[0]),0,2));
}
?>
<? else {
header("Location: /index.php?Langue=fr");
} ?>
-

XenonDelee - WRInaute passionné

- Messages: 919
- Inscription: Mar Avr 06, 2004 12:09
euh j'ai jamais fait ça mais il me semble qu'il ya une erreur logique
essaie plutôt ça :
essaie plutôt ça :
- Code: Tout sélectionner
if (!isset($Langue)) {
if(isset($HTTP_ACCEPT_LANGUAGE)){
$Langue = explode(",",$HTTP_ACCEPT_LANGUAGE);
$Langue = strtolower(substr(chop($Langue[0]),0,2)); }
else
$Langue="fr";
}
header("Location: /index.php?Langue=$Langue");
Pour reprendre le code de XenonDelee et l'adapter à ton cas ça fait ceci (avec une redirection 301 c mieux je pense pour google) :
- Code: Tout sélectionner
header("HTTP/1.1 301 Moved Permanently");
header("Location: /index_$Langue.php");
Dernière édition par sietjp le Jeu Jan 13, 2005 21:46, édité 1 fois.
Je n'interviendrait pas directement dans le code mais il faut savoir que php est passé aux Super Globale tel que $_SERVER pour ton cas, mais il existe $_GET, $_POST, $_SESSION, $_REQUEST, $_FILES, $_COOKIE, $_ENV... )je crois que j'en ai oublié une mais je ne vois plus lol...)
Tous ça pour dire que programmer c'est bien, respecter des "standards" datant de 5 ans n'est peut-être plus conseillé... passe sur le manuel php, et tu découvriras que ça pourrait te jouer des tours de tout faire à l'ancienne.
Tous ça pour dire que programmer c'est bien, respecter des "standards" datant de 5 ans n'est peut-être plus conseillé... passe sur le manuel php, et tu découvriras que ça pourrait te jouer des tours de tout faire à l'ancienne.
-

XenonDelee - WRInaute passionné

- Messages: 919
- Inscription: Mar Avr 06, 2004 12:09
J'ai laissé $HTTP_ACCEPT_LANGUAGE pour reprendre son exemple
il est vrai qu'il est plus prudent aujourd'hui d'écrire
$_server[HTTP_ACCEPT_LANGUAGE]
Ceci dit je ne crois pas que cela provoque une faille de sécurité de garder l'ancienne notation ( dans ce cas précis )
( mais je ne suis pas hacker
)
il est vrai qu'il est plus prudent aujourd'hui d'écrire
$_server[HTTP_ACCEPT_LANGUAGE]
Ceci dit je ne crois pas que cela provoque une faille de sécurité de garder l'ancienne notation ( dans ce cas précis )
( mais je ne suis pas hacker
-

XenonDelee - WRInaute passionné

- Messages: 919
- Inscription: Mar Avr 06, 2004 12:09
sietjp a écrit:
- Code: Tout sélectionner
header("Location: /index_$Langue.php");
oui c'est la bonne adaptation au cas
Petite question ....
Est-ce que dans ce cas, Google ( qui ne renverra pas de HTTP_ACCEPT_LANGAGE ) ne risque pas de ne visiter que le site français ???
ou s'il en renvoie de ne visiter qu'une des versions du site ?
Ca sera dommage pour le référencement des autres versions du site ....
Est-ce que dans ce cas, Google ( qui ne renverra pas de HTTP_ACCEPT_LANGAGE ) ne risque pas de ne visiter que le site français ???
ou s'il en renvoie de ne visiter qu'une des versions du site ?
Ca sera dommage pour le référencement des autres versions du site ....
Oui, si tu n'as pas de liens pour passer volontairement d'une langue à l'autre... D'ailleurs sans parler de googlebot, ce sont tes visiteurs qui en ont besoin (parce que la redirection auto ne peut marcher dans tous les cas).
J'aimerais beaucoup appliquer ce script a mon blog
http://zeb.3dvf.com/blog
mais visiblement cela ne marche pas tres bien
j'atterit sur zeb.3dvf.com/index.php/en ou fr et non pas zeb.3dvf.com/blog/index.php/en ou fr
si je changes l'url du header de la sorte :
header("Location: /blog/index.php/$Langue");
la je tombes sur zeb.3dvf.com/blog/blog/index.php/en
au secours
merci de votre aide
http://zeb.3dvf.com/blog
mais visiblement cela ne marche pas tres bien
j'atterit sur zeb.3dvf.com/index.php/en ou fr et non pas zeb.3dvf.com/blog/index.php/en ou fr
si je changes l'url du header de la sorte :
header("Location: /blog/index.php/$Langue");
la je tombes sur zeb.3dvf.com/blog/blog/index.php/en
au secours
merci de votre aide
sietjp a écrit:Pour reprendre le code de XenonDelee et l'adapter à ton cas ça fait ceci (avec une redirection 301 c mieux je pense pour google) :
- Code: Tout sélectionner
header("HTTP/1.1 301 Moved Permanently");
header("Location: /index_$Langue.php");
Salut,
Je redeterre un vieux topic, mais en lisant ca, je n'ai pas compris. Pourquoi vaut-il mieux faire une redirection permanente quand on redirige suivant la langue du navigateur. Intuitivement j'aurais tendance à penser que c'est cela qu'il faut faire, mais j'ai du mal à m'expliquer quel est le raisonnement derrière ca. Si quelqu'un veux bien m'expliquer
Si je fais une page index.php qui redirige vers mon repertoire francais ou anglais selon le cas, est ce que ca va avoir une conséquence quelconque pour mon référencement (sachant qu'actuellement j'ai juste à la racine un .htaccess qui redirige vers le repertoire anglais qd la page d'accueil est demandée. Je veux remplacer ce htacess par un index.php qui detecte la langue)?
Merci de m'eclairer de vos lumières.
13 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Moteur de recherche dans les blogs de Google
- Référencer un site multilingue
- Google Labs lance Google Alternate Views
- Picasa Web Albums en français
- Gérer l'entête HTTP en PHP
- La toolbar pour Firefox de Google
- Sortie officielle de GoogleStats v2.0 !
- Nouveau Picasa : Picasa Web Albums
- Aperçu des différents types de redirection
- MyMaps : des cartes personnalisées avec Google Maps
- Affichage de la langue par rapport au navigateur + pays
- affichage d un script php
- Script PHP affichage CheckSum Google
- Problème php - Fonction die, arret de script
- Espace perso + fonction php pour script shell
- Google Pack Referrals selon la langue du navigateur
- Affichage couleur selon navigateur
- propriete css en fonction du navigateur
Consultez la description détaillée des produits ou services de Google suivants : Google Phonebook
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités






le forum