Position actuelle: Accueil> Derniers articles> Comment utiliser l'en-tête ("emplacement: ...") dans un site Web multilingue pour faire du saut de langue

Comment utiliser l'en-tête ("emplacement: ...") dans un site Web multilingue pour faire du saut de langue

M66 2025-05-28

Dans les sites Web multilingues, une bonne expérience utilisateur nécessite généralement que vous soyez automatiquement passé à la page de langue correspondante en fonction de la langue du navigateur du visiteur ou du langage préféré. PHP fournit des moyens flexibles pour y parvenir, le plus couramment utilisé est de mettre en œuvre la redirection via l'en-tête ("Emplacement: ...") .

Les étapes d'implémentation et le code d'exemple seront décrits ci-dessous.

1 ?? Obtenez la langue du navigateur de l'utilisateur

La plupart des navigateurs apporteront l'en-tête d' accept-langage dans les demandes HTTP, que PHP peut être obtenu via $ _server ['http_accept_language'] . Par exemple:

 $userLang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

Ce code élimine les deux premières lettres du code linguistique, telles que En (anglais), ZH (chinois) et FR (français).

2 ?? Sélectionnez la page Jump en fonction du code de la langue

Ensuite, vous devez décider à quelle page sauter en fonction du code de langue que vous obtenez. Par exemple:

 switch ($userLang) {
    case 'zh':
        $redirectUrl = 'https://m66.net/zh/';
        break;
    case 'fr':
        $redirectUrl = 'https://m66.net/fr/';
        break;
    case 'en':
    default:
        $redirectUrl = 'https://m66.net/en/';
        break;
}

Ici, nous avons rendu un simple jugement de branche. S'il s'agit d'un utilisateur chinois qui saute sur / zh / , l'utilisateur français qui va à / fr / , et que d'autres utilisateurs (par défaut) sautent vers la page anglaise.

3 ?? Utilisez en tête () pour envoyer la commande de saut

Dans la dernière étape, utilisez la fonction d'en-tête () de PHP pour envoyer une réponse de saut. Notez que l'appel en-tête () doit être avant la sortie de la page, sinon une erreur sera signalée.

 header("Location: $redirectUrl");
exit;

Ajouter la sortie; Pour s'assurer que le script arrête l'exécution immédiatement après avoir envoyé un saut.

?? Exemple de code complet

 <?php
// Obtenez la langue du navigateur
$userLang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

// Sauter selon la langue
switch ($userLang) {
    case 'zh':
        $redirectUrl = 'https://m66.net/zh/';
        break;
    case 'fr':
        $redirectUrl = 'https://m66.net/fr/';
        break;
    case 'en':
    default:
        $redirectUrl = 'https://m66.net/en/';
        break;
}

// En-tête de saut
header("Location: $redirectUrl");
exit;
?>

?? Choses à noter

  • En-tête () doit être appelé avant toute sortie HTML ou écho , sinon elle provoquera des en-têtes déjà envoyées par des erreurs.

  • Détecter plus de langues : si votre site Web prend en charge plus de langues, vous pouvez étendre le commutateur ou utiliser la cartographie du tableau.

  • Ajouter des options de commutation linguistique : Bien que le saut automatique puisse améliorer l'expérience, il est recommandé que les utilisateurs puissent également changer manuellement les langages pour éviter les erreurs de sélection automatique.