Outils pour utilisateurs

Outils du site


informatique:php:redirection_en_php

Redirection en php

Date de création : 2015/06/09 09:17

 

Voici comment faire une redirection en Php

<?php
header("Location: page.html");
?>

Choisir le type de redirection

Il existe plusieurs cas pour lesquels des redirections doivent être utilisées (renommage d'un fichier, changement d'adresse du site, lien…). Du point de vue du référencement, parmi toutes les méthodes de redirection, certaines sont plus recommandées que d'autres, comme nous l'expliquons ci-dessous. Du point de vue de l'internaute, c'est en général plus simple car il suffit de trouver un moyen d'afficher la page redirigée : il ne sera pas sensible au type de redirection. Utilité d'une bonne redirection

En effet, pour que les robots des moteurs de recherche interprètent correctement la redirection, il faut que l'entete HTTP envoyé avec la page corresponde au statut de la page. Par exemple, si une page a changé d'emplacement dans votre site, il faut que l'ancienne URL fasse une redirection vers la nouvelle en utilisant un entete HTTP qui précise que cette page a changé définitivement d'adresse (code 301). Cela permettra au robot de ne plus venir indexer l'ancienne URL, et de mettre à jour sa base de données en affectant la nouvelle URL à la page.

Si vous ne mettez pas de redirection depuis l'ancienne URL, le robot obtiendra une erreur 404 et ne sera pas forcément au courant de la nouvelle adresse. Les différentes formes de redirection

Voici un résumé des techniques de redirection les plus courantes :

  • Redirection directement sur le serveur
  • Redirection par URL Rewriting
  • Redirection dans un script serveur (PHP, ASP, etc.)
  • Redirection par balise META Refresh
  • Redirection JavaScript

Redirection directement sur le serveur

Une configuration du serveur donne les règles de redirection. Il faut aller voir la documentation du serveur (Apache, IIS, etc.)

Pour le référencement : aucun problème. Vérifier tout de même l'entete HTTP renvoyé par la page Redirection par URL Rewriting

La règle de redirection est indiquée dans un fichier .htaccess avec par exemple RedirectPermanent ou RewriteRule (dans ce cas il faut utiliser le code R=301)

Exemples : dans le fichier .htaccess situé à la racine du site (sur une seule ligne) :

RedirectPermanent /robotstats
 http://www.robotstats.com/

ou bien (toujours sur une seule ligne) :

RewriteRule ^article-([0-9]*).php
 archives-$1.htm [R=301]

Pour le référencement : fonctionne très bien avec tous les moteurs Redirection dans un script serveur (PHP, ASP, etc.)

La redirection est définie par une fonction chargée de renvoyer un entête HTTP. Il faut bien sûr bien choisir le code de retour HTTP.

Exemple : utilisation de la fonction header() en PHP (n'allez pas à la ligne après “header(”) :

header(
 "Status: 301 Moved Permanently", false, 301);
header(
 "Location: http://www.votresite.com/unepage.htm");
exit();

Remarque : les deux derniers paramètres de la fonction header sur la 1ère ligne de code ne sont pas toujours nécessaires. Mais sur certains serveurs, le code ci-dessous provoque une redirection 302 au lieu d'une redirection 301 :

header(
 "Status: 301 Moved Permanently");
header(
 "Location: http://www.votresite.com/unepage.htm");
exit();

Exemple : utilisation de la fonction addheader en ASP :

<%
response.status = "301 moved permanently"
response.addheader "location",
 "http://www.votre-site.com/"
response.end
%>

Pour le référencement : aucun problème.

Redirection par balise META Refresh

La redirection est définie par la balise META http-equiv=“Refresh”. Elle donne l'ordre au navigateur de rediriger l'internaute vers une URL spécifiée au bout d'un certain nombre de secondes.

Exemple (redirection vers la page “nouvellepage.html” au bout de 5 secondes (sur une seule ligne) :

<meta http-equiv="Refresh"
 content="20;URL=page2.html">

Pour le référencement : il ne faut pas l'utiliser ! En effet, cette balise a trop souvent été utilisée en fixant le nombre de secondes à zéro, en général pour faire une page satellite. A proscrire. Redirection JavaScript (ou tout autre langage côté client)

La redirection est définie par une fonction JavaScript qui modifie l'URL de la page à afficher, sans modifier l'entete HTTP.

Exemple :

<script language="javascript"
 type="text/javascript">
<!--
window.location.replace(
 "http://www.un-site.com/une-page.htm");
-->
</script>

Pour le référencement : il ne faut pas l'utiliser ! Les robots ignorent le JavaScript, ils ne suivront donc pas une redirection javascript.

informatique/php/redirection_en_php.txt · Dernière modification : 2022/04/10 17:26 de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki