tswanhosting tswanhosting
  • Home
  • Marketing
    MarketingShow More
  • Resouce
    ResouceShow More
  • Features
    FeaturesShow More
  • Guide
    GuideShow More
  • Contact
  • Blog
Reading: Redirection PHP : Le Guide Complet
Share
Démarrer
Tswan LearnTswan Learn
Font ResizerAa
  • Web
  • WordPress
  • Tutoriel
  • Ressources
  • Contact
Search
  • Web
  • WordPress
  • Tutoriel
  • Ressources
  • Contact
Follow US
Copyright © 2025 Tswan Hosting. All Rights Reserved.
Accueil » Blog » Redirection PHP : Le Guide Complet
Developpement WebPHPTutorielWeb

Redirection PHP : Le Guide Complet

tswan
By tswan
Last updated: 22 octobre 2025
7 Min Read
SHARE

En développement web, il est souvent nécessaire de guider un utilisateur d’une URL à une autre. Une page a été déplacée, un ancien article a été mis à jour, ou vous voulez simplement forcer l’utilisation du HTTPS. C’est le rôle de la redirection. Alors que beaucoup de redirections peuvent être gérées au niveau du serveur, il est parfois indispensable de les programmer directement dans votre code. En PHP, cette tâche est accomplie par une seule et unique fonction : header(). En effet, cette fonction est simple en apparence, mais son utilisation est soumise à des règles très strictes. La comprendre et la maîtriser est essentiel pour éviter deux des erreurs les plus tristement célèbres du développement PHP : les boucles de redirection infinies et la fameuse erreur "Headers already sent".

Contents
La méthode : La fonction header()Piège n°1 à éviter : L’erreur "Headers already sent"Piège n°2 à éviter : Les boucles de redirectionLa meilleure approche : Utiliser le bon outil pour le bon travail

La méthode : La fonction header()

La fonction header() en PHP permet d’envoyer un en-tête HTTP brut au navigateur. Pour effectuer une redirection, on utilise principalement deux en-têtes : l’un pour spécifier le type de redirection (le code d’état HTTP), et l’autre pour indiquer la nouvelle destination (Location).

Voici le code standard pour une redirection 301 (déplacement permanent), la plus courante et la meilleure pour le SEO :

<?php
// Redirection 301 de l'ancienne page vers la nouvelle
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://www.votresite.com/nouvelle-page.php");
exit();
?>

Décortiquons ce code :

  1. header("HTTP/1.1 301 Moved Permanently"); : Cet en-tête informe le navigateur et les moteurs de recherche que la page a été déplacée de façon permanente. C’est une instruction cruciale pour le SEO, car elle demande à Google de transférer toute la "valeur" de l’ancienne URL vers la nouvelle.
  2. header("Location: https://www.votresite.com/nouvelle-page.php"); : C’est l’instruction qui déclenche réellement la redirection. Le navigateur voit cet en-tête et charge immédiatement la nouvelle URL.
  3. exit(); : Cette ligne est absolument capitale. Elle met fin immédiatement à l’exécution du script. Sans elle, PHP continuerait d’exécuter le reste de la page, ce qui pourrait entraîner des comportements inattendus et des failles de sécurité.

Piège n°1 à éviter : L’erreur "Headers already sent"

C’est l’erreur la plus courante et la plus déroutante pour les débutants. Le message est clair : "Impossible de modifier les informations d’en-tête – les en-têtes ont déjà été envoyés".

La cause : La communication entre un serveur et un navigateur se fait en deux parties : d’abord les en-têtes (headers), puis le corps de la page (body). Les en-têtes contiennent des métadonnées comme les codes d’état, les cookies, et nos fameuses redirections. Le corps contient le code HTML visible. Une fois que le serveur commence à envoyer le corps (même un seul espace blanc ou une seule ligne de HTML), la porte des en-têtes est fermée. Il est trop tard pour en ajouter ou en modifier.

L’erreur "Headers already sent" se produit si vous essayez d’appeler la fonction header() après qu’un quelconque contenu a été envoyé.

Comment l’éviter : La règle est simple et absolue. Votre logique de redirection doit toujours se trouver tout en haut de votre fichier PHP, avant toute autre chose.

<?php
// CORRECT : Logique de redirection au tout début.
if ( some_condition ) {
    header("Location: /nouvelle-page");
    exit();
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title>Ma page</title>
    </head>
    <body>
        ...
    </body>
</html>
<?php
// INCORRECT : Un "echo" a été fait avant le header().
echo "Bonjour !";
header("Location: /nouvelle-page"); // Erreur "Headers already sent"
exit();
?>

Infographie expliquant l'erreur "Headers already sent" : une porte "Headers" se ferme dès qu'un contenu "Body" (HTML, echo) est envoyé.

Piège n°2 à éviter : Les boucles de redirection

Une boucle de redirection se produit lorsque la page A redirige vers la page B, qui elle-même redirige vers la page A. Le navigateur est pris dans un cycle infini et finit par afficher une erreur du type "ERR_TOO_MANY_REDIRECTS".

La cause : Ce problème est presque toujours dû à une logique de redirection trop large ou mal définie. Par exemple, si vous voulez rediriger tout le trafic non-www vers www, mais que votre règle ne fait pas la distinction et s’applique aussi au trafic déjà sur www.

Comment l’éviter : Votre logique de redirection doit être aussi spécifique que possible. Utilisez des conditions if pour cibler précisément les cas où la redirection doit s’appliquer.

<?php
// Logique de redirection spécifique pour une seule page
if ($_SERVER['REQUEST_URI'] == '/ancienne-page.php') {
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: /nouvelle-page.php");
    exit();
}
?>

En isolant la redirection dans une condition stricte, vous vous assurez qu’elle ne se déclenchera pas de manière inattendue, créant une boucle.

La meilleure approche : Utiliser le bon outil pour le bon travail

Les redirections PHP sont puissantes pour des logiques complexes basées sur le contenu ou les utilisateurs. Cependant, pour des redirections simples et globales (HTTP vers HTTPS, www vers non-www, une page vers une autre), il est souvent plus performant de les gérer au niveau du serveur. Les panneaux de contrôle d’hébergement, comme ceux fournis par Tswan Hosting, offrent des outils graphiques simples pour créer des redirections directement dans le fichier de configuration du serveur (.htaccess pour Apache/LiteSpeed). Cette méthode est plus rapide car elle intercepte la requête avant même que PHP ne soit exécuté.

En conclusion, la redirection PHP via la fonction header() est un outil essentiel, mais qui demande de la rigueur. En plaçant votre code au bon endroit et en utilisant des conditions précises, vous éviterez les pièges courants. Pour des solutions de redirection plus complexes ou pour optimiser la performance de votre site, les experts de Tswan Softwares peuvent vous aider à mettre en place la meilleure stratégie.

Bannière publicitaire pour l'hébergement Tswan Hosting avec outils de redirection intégrés

TAGGED:boucle de redirectiondéveloppement webheader locationheaders already sentPHPredirection php
Share This Article
Facebook Copy Link Print
Previous Article Qu’est-ce qu’un Framework de développement web ?
Next Article Redirection d’URL non www vers www
Aucun commentaire

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

FacebookLike
InstagramFollow

Commencer l'aventure

Découvrez les hébergements web de Tswan Hosting
Commencer
Most Popular
WordPress vs HTML : Lequel choisir pour votre site web ?
24 octobre 2025
WordPress n’envoie pas d’e-mails
24 octobre 2025
Vider le cache du navigateur : Le guide complet
24 octobre 2025
Suppression des logiciels malveillants WordPress
24 octobre 2025
Soumettre un site web aux moteurs de recherche
24 octobre 2025

You Might Also Like

Comment vérifier les serveurs de noms

6 Min Read

Les Codes d’état HTTP

6 Min Read

Créateur de site web vs. Site web personnalisé : Que choisir ?

6 Min Read

Qu’est-ce que le CSS ? Le langage qui donne vie au web

7 Min Read

Obtenir un hébergement web Gratuit

Obtenez un hébergement web gratuit aujourd'hui!
Démarrer
tswanhosting tswanhosting

Nous fournissons des astuces et des conseils pour améliorer votre sites web et son référencement.

Latest News

  • SEO Audit Tool
  • Client ReferralsNew
  • Execution of SEO
  • Reporting Tool

Resouce

  • Google Search Console
  • Google Keyword Planner
  • Google OptimiseHot
  • SEO Spider

Obtenez le Top 10 de la recherche !

Vous cherchez un service fiable pour optimiser le site web de votre entreprise ?
Prennez rendez-vous
Welcome Back!

Sign in to your account

Username or Email Address
Password

Lost your password?