Comment créer une redirection 301 en PHP ?
Créer une redirection 301 à partir de la configuration serveur est toujours la meilleure solution. Cependant, si vous avez juste besoin de faire une redirection localisée, seulement pour un fichier spécifique de votre serveur, il est plus facile de l'inscrire dans un langage cripté comme le PHP au lieu de configurer le serveur entier.
Cette page décrit le quelques étapes que vous devez suivre pour paramétrer les redirections 301 en utilisant le langage PHP. Les actions principales se décomposent en deux lignes de codes que vous devrez coller en haut de votre fichier à rediriger.
Définir le code 301 et l’adresse cible.
Comme le PHP est un langage coté serveur, il peut facilement déchiffrer les données avant même que le serveur n'ai envoyé une réponse au navigateur internet. En utilisant ce tte caractéristique et les commandes adéquates, il est alors facile d’écrire dynamiquement un nouveau header pour une requête et de le définir comme une redirection 301.
Pour arriver à ce résultat, ouvrez en premier lieu le fichier à partir duquel vous voulez mettre en place la redirection. Ce fichier doit, bien entendu, être un fichier PHP afin qu'il puisse être exécuter en PHP sur votre serveur. Ensuite, copiez le code suivant et collez le en première ligne de votre fichier PHP, et remplacez le http://www.nouvelle-domaine.com par la véritable adresse de destination de votre 301.
<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.nouveau-domaine.com" );
?>
Dans le langage PHP, la commande Header est utilisée pour redéfinir le header de la réponse serveur, et peut être aussi utilisé pour redéfinir une redirection 301. De cette manière, la première information que votre client va recevoir est la commande de redirection. Obéissant ce code, il ne prendra pas en compte les autres lignes de la page.
Redéfinir dynamiquement la cible de la redirection.
Si le Header doit être la première instruction à être envoyée au client, il n’est pas nécessaire que ce soit la première à être exécutée par le serveur. En utilisant une redirection PHP, vous être libre d’utiliser n’importe quelle commande dont vous avez besoin avant l’instruction du Header, aussi longtemps que nous n’envoyez pas de données au navigateur internet.
Vous pouvez facilement imaginer que l’adresse cible de la redirection est définie par les attributs qui se trouve à la suite, présent dans l’adresse originale de la page, valeur de session ou n’importe qu’elle entré en base de donnée. Classer cette nouvelle adresse dans une variable PHP est alors facile, et la réutiliser dans la commande Header ne demande que la modification d'une ligne.
Header( "Location: $NewAddress" );