09 July 2012

PHP - Rediriger sur une autre page, "redirect"


IMPORTANT : Les en-têtes HTTP

Les redirections sont des en-têtes HTTP. Or, selon le protocole HTTP, les en-têtes HTTP doivent être envoyés avant tout autre type de contenu, ce qui signifie qu'aucun caractère ne doit être envoyé avant l'appel de la fonction header, pas même un espace ! 

En d'autre termes, la fonction header() doit impérativement être utilisée avant tout code HTML

Redirection simple

Pour rediriger le visiteur vers une autre page (particulièrement utile dans une boucle conditionnelle), il suffit d'utiliser le code suivant : 
<?php   
  header('Location: mapage.php');   
?>


Où mapage.php représente l'adresse de la page vers laquelle vous voulez rediriger. Cette adresse peut être absolue et peut également posséder des paramètres de la forme mapage.php?param1=val1¶m2=val2). 

Chemin relatif / absolu

Dans l'idéal, préférez un chemin absolu à partir de la racine du serveur (DOCUMENT_ROOT), de la forme suivante : 
<?php   
  header('Location: /repertoire/mapage.php');   
?>


Si jamais la page cible est sur un autre serveur, vous mentionner l'URL complète, de la forme suivante : 
<?php   
  header('Location: http://www.commentcamarche.net/forum/');   
?>

Redirections temporaires/définitives

Par défaut, le type de redirection présenté ci-dessus est une redirection temporaire. Ce qui signifie notamment que les moteurs de recherche tels que Google ne la prennent pas en compte pour le référencement. 

Ainsi, si vous souhaitez signifier aux moteurs de recherche que la page A est maintenant à l'emplacement B, il faut utiliser le code suivant en tout début du fichier PHP correspondant à la page A : 

<?php 
  header('Status: 301 Moved Permanently', false, 301);   
  header('Location: adresse_de_la_page_B');   
?>

Exemple

La page possède le code suivant : 

<?     
  header('Status: 301 Moved Permanently', false, 301);   
  header('Location: /pc/imprimante.php3');   
  exit();     
?>


Ainsi, lorsque vous cliquez sur le lien ci-dessus, vous êtes automatiquement transféré sur la page 

De plus, il s'agit d'une redirection permanente (Status: 301 Moved Permanently). Ainsi, si vous tapez la première URL dans Google, celui-ci vous donnera comme résultat l'adresse de la seconde, preuve qu'il a pris en compte la redirection 

Interprétation du code PHP

Le code PHP situé après l'appel de la fonction header() sera interprété par le serveur, même si le visiteur est déjà parti à l'adresse spécifiée dans la redirection, ce qui signifie que dans la plupart des cas vous avez intérêt à faire suivre la fonction header() de la fonction exit() afin de ne pas faire travailler le serveur pour rien : 

<?php 
  header('Status: 301 Moved Permanently', false, 301);   
  header('Location: adresse');   
  exit();   
?>

5 comments:

ninest123 Ninest said...

ninest123 08.13
coach outlet store online, jordan shoes, replica watches, christian louboutin uk, michael kors outlet online, gucci handbags, burberry handbags, burberry outlet, nike air max, coach purses, ray ban sunglasses, michael kors outlet online, coach outlet, tiffany jewelry, michael kors outlet, kate spade outlet, kate spade, polo outlet, prada outlet, michael kors outlet, tory burch outlet, tiffany and co, true religion outlet, longchamp outlet, michael kors outlet online, christian louboutin shoes, oakley sunglasses wholesale, ray ban sunglasses, christian louboutin outlet, oakley sunglasses, longchamp outlet, nike outlet, nike free, coach outlet, prada handbags, longchamp outlet, christian louboutin, chanel handbags, michael kors outlet store, polo ralph lauren outlet online, oakley sunglasses, nike air max

ninest123 Ninest said...

polo ralph lauren, nike free uk, nike tn, burberry pas cher, timberland pas cher, polo lacoste, mulberry uk, michael kors outlet, nike air force, jordan pas cher, true religion outlet, ray ban pas cher, nike free run, lululemon canada, guess pas cher, sac longchamp pas cher, michael kors pas cher, true religion jeans, nike air max, hollister uk, abercrombie and fitch uk, ralph lauren uk, louboutin pas cher, nike air max uk, hogan outlet, north face, hollister pas cher, new balance, air max, north face uk, oakley pas cher, ray ban uk, sac hermes, true religion outlet, vans pas cher, nike blazer pas cher, sac vanessa bruno, nike air max uk, michael kors, converse pas cher, nike roshe, longchamp pas cher

ninest123 Ninest said...

ferragamo shoes, beats by dre, timberland boots, mont blanc pens, bottega veneta, nike air max, reebok outlet, nike trainers uk, giuseppe zanotti outlet, vans outlet, insanity workout, chi flat iron, herve leger, nike roshe run, ghd hair, new balance shoes, iphone 6 cases, mac cosmetics, celine handbags, jimmy choo outlet, hollister clothing, valentino shoes, nike roshe run uk, asics running shoes, mcm handbags, north face outlet, nfl jerseys, wedding dresses, longchamp uk, hermes belt, p90x workout, oakley, soccer shoes, nike huaraches, north face outlet, abercrombie and fitch, instyler, babyliss, hollister, lululemon, baseball bats, soccer jerseys

ninest123 Ninest said...

lancel, ralph lauren, juicy couture outlet, louboutin, ray ban, toms shoes, replica watches, swarovski, thomas sabo, ugg pas cher, coach outlet, ugg boots, links of london, hollister, uggs outlet, karen millen uk, pandora jewelry, uggs on sale, nike air max, converse, montre pas cher, pandora uk, supra shoes, ugg,ugg australia,ugg italia, juicy couture outlet, wedding dresses, pandora charms, hollister, uggs outlet, converse outlet, vans, ugg boots, ugg uk, swarovski crystal, marc jacobs, ugg, ugg,uggs,uggs canada, gucci
ninest123 08.13

Pnane Weg said...

http://www.northface.net.co
http://www.louisvuittonbeltsoutlet.com
http://www.coach-purses.in.net
http://www.michaelkorsbags.in.net
http://www.kobebryantshoes-inc.com
http://www.jordan6black-infrared.com
http://www.michaelkors-handbags.net.co
http://www.christianlouboutinsale.com.co
http://www.guccisunglassessite.com
http://www.cheapnorthfacejackets.in.net
http://www.north-face-outlet.com.co
http://www.nikeoutlet-store-online.com
http://www.coachoutlets.com.co
http://www.cheapvansshoesoutlet-store.com
http://www.coachpurse-outletonline.com
http://www.outletcoachfactory.us.com
http://www.abercrombieandfitch-outlet.com
http://www.coachpurses--outletonline.com
http://www.tomsoutletsite.com
http://www.coachpurseoutlet.com.co
http://www.michaelkorsoutlet.net.in
http://www.michaelkorsoutlet70off.com
http://www.airjordanretro11legendblue.com
http://www.cheapnfljerseyssite.com
http://www.oakleysunglasses.net.co
http://www.airjordan-11.us
http://www.cheap-canadagoose-jackets.com
http://www.coachfactorystoreonlinewebsite.com
http://www.abercrombie-kids.com.co
http://www.katespade-outlet-online.com
http://www.columbiasportswearoutlet-inc.com
http://www.clarksshoesoutlet-online.com
http://www.michaelkorsoutlet-site.com
http://www.underarmouroutletclearance.com
http://www.rolexwatchesoutlet-inc.com
http://www.newest-jordans.com
http://www.cheapjordansshoesfromchina.com
qwe12.19