Maison  >  Article  >  développement back-end  >  Tutoriel de redirection en PHP

Tutoriel de redirection en PHP

王林
王林original
2023-09-01 17:53:051428parcourir

Redirect vous permet de rediriger le navigateur client vers une URL différente. Vous pouvez l'utiliser lorsque vous changez de domaine, modifiez la structure de votre site ou passez à HTTPS.

Dans cet article, je vais vous montrer comment rediriger vers une autre page en utilisant PHP. Je vais vous expliquer exactement comment fonctionnent les redirections PHP et vous montrer ce qui se passe dans les coulisses.

Apprenez PHP avec des cours en ligne gratuits

Si vous souhaitez apprendre PHP, consultez notre cours en ligne gratuit sur les bases de PHP !

Comment fonctionne la redirection de base ?

Avant d’entrer dans les détails de la redirection PHP, jetons un coup d’œil rapide au fonctionnement réel de la redirection HTTP. Jetez un œil à l’image ci-dessous.

Tutoriel de redirection en PHP

Découvrez ce qui se passe dans la capture d'écran ci-dessus :

  • Le navigateur client demande une page spécifique au serveur. Dans l'exemple ci-dessus, le client a demandé le contenu du fichier index.php.
  • Le serveur a reçu une demande pour le fichier index.php et souhaite informer le client que le fichier n'est plus disponible ou a été déplacé vers un autre emplacement et doit rechercher un nouveau fichier : new_index.php. PHP. Le serveur envoie un en-tête Location avec la nouvelle URL et un code HTTP 301 ou 302. Ce sont les codes HTTP utilisés pour les redirections.
  • Lorsque le navigateur client rencontre un code 301 ou 302, il sait qu'il doit faire une autre requête à la nouvelle URL pour obtenir le contenu. Il fait une requête pour obtenir le fichier new_index.php dans l'exemple ci-dessus.

  • Enfin, le serveur envoie le contenu de la nouvelle URL.

C'est ainsi que fonctionne la redirection HTTP de base. Dans la section suivante, nous verrons comment fonctionne la redirection PHP.

Comment fonctionnent les redirections en PHP

En PHP, lorsque vous souhaitez rediriger un utilisateur d'une page vers une autre, vous devez utiliser la fonction header(). La fonction d'en-tête vous permet d'envoyer un en-tête d'emplacement HTTP brut, qui effectue la redirection réelle dont nous avons discuté dans la section précédente.

Comment utiliser la fonction d'en-tête

Jetons un œil à la syntaxe de la fonction header().

header( $header, $replace, $http_response_code )
  • $header : Il s'agit de la chaîne d'en-tête HTTP que vous souhaitez utiliser. Dans notre cas, nous utiliserons l’en-tête $header:这是您要使用的 HTTP 标头字符串。在我们的例子中,我们将使用 Location pour la redirection.
  • $replace : Il s'agit d'un paramètre facultatif indiquant si l'en-tête doit remplacer les en-têtes similaires précédents.
  • $http_response_code : Il permet d'envoyer des codes de réponse spécifiques.

Maintenant, regardons les exemples suivants pour voir comment ils fonctionnent ensemble.

<?php
// index.php
header("Location: https://www.yoursite.com/new_index.php");
exit();
?>

Lorsque le script ci-dessus est exécuté, le navigateur client sera redirigé vers http://www.yoursite.com/new_index.php. En coulisses, il envoie des en-têtes HTTP Location bruts ainsi qu'un code d'état 302. Le code d'état 302 est utilisé pour les redirections temporaires, mais si vous souhaitez une redirection permanente, vous pouvez transmettre un code d'état 301 dans le troisième paramètre, comme indiqué dans l'extrait de code suivant.

<?php
// index.php
header("Location: http://www.yoursite.com/new_index.php", TRUE, 301);
exit();
?>

La redirection permanente 301 vous permet d'informer les robots de recherche que la page n'est plus disponible et peut être remplacée par une nouvelle.

Pourquoi utiliser la fonction Die()Exit() après la redirection de l'en-tête ?

Les utilisateurs aux yeux d'aigle remarqueront que j'ai utilisé la fonction exit() 函数。事实上,您必须在标头重定向之后立即使用 exit()die() dans l'exemple ci-dessus pour arrêter l'exécution du script et éviter tout résultat indésirable.

Il est donc toujours recommandé d'utiliser l'une de ces fonctions après la redirection.

Erreur célèbre : en-tête envoyé

Si vous êtes un programmeur PHP expérimenté, je suis sûr que vous avez rencontré cette fameuse erreur PHP à un moment donné dans votre développement PHP quotidien. Cependant, pour les débutants, rencontrer cette erreur est vraiment ennuyeux car elle est difficile à déboguer et à corriger. Dans la plupart des cas, ils ne savent même pas que cela est dû à une redirection d'en-tête.

La règle générale est que lorsque vous utilisez la fonction header() dans un script, vous devez vous assurer qu'aucune sortie n'est envoyée avant celle-ci. Sinon, PHP se plaindra avec une erreur "Header Sent". Cela peut se produire même si vous envoyez un espace avant d'utiliser la fonction d'en-tête.

Conclusion

Dans cet article, nous avons abordé l'une des fonctionnalités importantes de la programmation PHP : la redirection. Tout d’abord, nous avons examiné les bases de la redirection HTTP, puis avons démontré son fonctionnement en PHP.

Les meilleurs scripts PHP sur CodeCanyon

Explorez des milliers de scripts PHP parmi les meilleurs et les plus utiles jamais créés sur CodeCanyon. Avec un paiement unique à faible coût, vous pouvez acheter l’un de ces thèmes WordPress de haute qualité et améliorer l’expérience du site Web pour vous et vos visiteurs.

Tutoriel de redirection en PHP

Voici quelques-uns des scripts PHP les plus vendus et les plus prometteurs disponibles sur CodeCanyon en 2020.

  • Tutoriel de redirection en PHP

  • Tutoriel de redirection en PHP

  • Tutoriel de redirection en PHP

  • Tutoriel de redirection en PHP

  • Tutoriel de redirection en PHP

  • Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn