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.
Si vous souhaitez apprendre PHP, consultez notre cours en ligne gratuit sur les bases de PHP !
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.
Découvrez ce qui se passe dans la capture d'écran ci-dessus :
Location
avec la nouvelle URL et un code HTTP 301 ou 302. Ce sont les codes HTTP utilisés pour les redirections.
new_index.php
dans l'exemple ci-dessus.
C'est ainsi que fonctionne la redirection HTTP de base. Dans la section suivante, nous verrons comment fonctionne la redirection 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.
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.
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.
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.
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.
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.
Voici quelques-uns des scripts PHP les plus vendus et les plus prometteurs disponibles sur CodeCanyon en 2020.
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!