tutoriel-php-mysql:php:redirection-definitive-php

Mettre en place une redirection définitive en PHP

De nombreux webmasters doivent faire face, un jour ou l'autre, a devoir mettre en œuvre un changement d'URL ou a modifier l'arborescence de son site. On peut utiliser un script PHP1) pour mettre en place une redirection définitive d'URL.

Fonctionne sur PHP 4, PHP 5 et PHP 7

Lorsque l'on change de place une page web, il y a un risque important que les liens externes pointant sur cette page fassent arriver les utilisateurs sur une page erreur 404. Les moteurs de recherche risques donc de réinitialiser le référencement de la page et donc de voir la qualité de référencement du site diminué. Pour éviter tous ces désagréments on peut mettre en place des redirections définitives. Nous allons utiliser la fonction header() de PHP.

Lors du chargement du page, le serveur envoi au navigateur une entête HTTP, en général c'est un code HTTP 200 (OK). Il existe un code pour informer le navigateur que la page demandé a été déménagé à une autre adresse, c'est le code HTTP 301 (moved permanently).

Si un caractère est envoyé avant un en-tête HTTP une erreur de type "headers already sent by" se produira.

Voici un exemple de code :

<?php 
header('Status: 301 Moved Permanently', false, 301);   
header('Location: http://www.zonewebmaster.eu/nos_tutoriaux/');
exit(); 
?>

La première ligne de ce code permet d'indiquer qu'il s'agit d'une redirection permanente Status: 301 Moved Permanently. La seconde ligne permet d'indiquer l'URL de la nouvelle page. il est conseillé de rajouter la commande exit() après la commande header() pour éviter que le serveur interprète le code PHP situé après. Ceci pour éviter de faire travailler le serveur pour rien.

  • [27/12/2015] : Article initial
  • [17/11/2017] : Mise à jour de l'article

1)
on peut aussi utiliser la redirection Apache2
  • tutoriel-php-mysql/php/redirection-definitive-php.txt
  • Dernière modification : 08/10/2019 17:03
  • de 127.0.0.1