Aller au contenu

Sujets conseillés

Posté

Bonjour,

Pour créer un site en plusierus langues, je détecte la langue du browser ($_SERVER["HTTP_ACCEPT_LANGUAGE"]) et selon la réponse je redirige vers une ou autre directory du genre : /fr, /es, /en et ainsi de suite...

Pour cette redirection j'utilise

header("Location : fr/monfichier.php") pour la partie française
header("Location : en/monfichier.php") pour la partie anglaise
et ainsi de suite...

Questions :

1. Est-ce la meilleure façon de procéder??

2. La fonction header("Location : ") renvoie un code 302. Google apprécie?? Il n'en tient pas compte?? Aucune importance, mon site sera indexé de toutes façons???

Merci d'avance à tous.

PS: Si vous pouvez m'indiquer des resources, des idées (XHTML, CSS, PHP) pour créer un site en plusieurs langues, je suis preneur.

Posté

Et pour les étranger regardant le site depuis la France ou bien les Français qui le regarde depuis l'étranger, comment cela se passera ?

Posté
1. Est-ce la meilleure façon de procéder??

Ca dépend de ton public, tu peux aussi détecter l'origine géographique en fonction de l'IP. Mais en général, c'est une bonne méthode. Certains utilisent plutôt un script qui change le contenu en fonction de la langue du navigateur. Ce qui évite la redirection. Mais cela ressemble plus à du cloaking, à utiliser intelligemment.

2. La fonction header("Location : ") renvoie un code 302. Google apprécie?? Il n'en tient pas compte?? Aucune importance, mon site sera indexé de toutes façons???

Cela ne gênera pas forcément l'indexation, mais il vaut mieux une redirection 301. Tu peux indiquer dans la fonction header le code d'erreur à envoyer.

Posté (modifié)

Réponse à Leonick :

Pas de problème : il y a toujours des petits drapeaux qui obligent mon site à utiliser la langue choisie par le client et rien que celle la!!!

Je ne voulais pas rentrer dans les détails sur ce sujet, mais si ça intéresse je peux indiquer la procédure utilisée. ($_SESSION combinié avec $_GET ).

Merci Cariboo!!

Comment envoyer le code 301 au lieu du 302 (par défaut) ??

Modifié par moimichel
Posté

En lui indiquant dans les en-têtes de page

header("Status: 301 Found");
header("Location: http://www.example.com/new_page");

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...