Redirecció PHP (capçalera de redirecció) - Consells

Qualsevol administrador del web s'adona que un dels seus fitxers té un nom que no s'adapta o que s'ha de modificar l'arbre de fitxers. Tanmateix, si és relativament fàcil canviar els enllaços al seu lloc, és molt més difícil canviar els enllaços externs d'altres llocs. A més, quan canviem les pàgines de lloc, els motors de cerca poden enviar als usuaris al buit o, pitjor, restablir tota la referència de la pàgina.

Afortunadament, hi ha una solució senzilla: redireccions, per mantenir la coherència de la navegació (i SEO) d’un lloc, fins i tot si tots els fitxers han canviat de lloc.

Capçaleres HTTP

Les redireccions són capçaleres HTTP. Tanmateix, segons el protocol HTTP, les capçaleres HTTP s’han d’enviar abans de qualsevol altre tipus de contingut, cosa que significa que no s’ha d’enviar cap caràcter abans de trucar a la funció de capçalera, ni tan sols un espai!

En altres paraules, la funció header () ha de ser s'utilitzava abans de qualsevol codi HTML.

Per obtenir més informació, llegiu aquest article: L'error "Capçaleres ja enviats per"

Vidéo

Redirecció simple

Per redirigir el visitant a una altra pàgina (especialment útil en un bucle condicional), només cal que utilitzeu el codi següent:

<? php capçalera ('Ubicació: <ital> mapage.php </ ital>'); ?>

on mypage.php representa l'adreça de la pàgina a la qual voleu redirigir. Aquesta adreça pot ser absoluta i també pot tenir paràmetres del formulari

mypage.php? param1 val1 = & = m2 val2

).

Ruta relativa / absoluta

Ideal, preferiu una ruta absoluta de l’arrel del servidor (DOCUMENT_ROOT), del següent formulari:

<? php capçalera ('Ubicació: <ital> /directory/mapage.php </ ital>'); ?>

Si alguna vegada la pàgina de destinació es troba en un altre servidor, esmentes l’URL complet, del següent formulari:

<? php header ('Ubicació: <ital> http: </ ital> <ital> // www.commentcamarche.net/forum / </ ital>'); ?>

Redireccions temporals / permanents

De manera predeterminada, el tipus de redirecció mostrat anteriorment és una redirecció temporal. Això vol dir que motors de cerca com Google no ho tenen en compte per a SEO.

Per tant, si voleu indicar als motors de cerca que la pàgina A es troba ara a la ubicació B, haureu d’utilitzar el codi següent al principi del fitxer PHP corresponent a la pàgina A:

<? php capçalera ('Estat: 301 Movida de manera permanent', falsa, 301); capçalera ("Ubicació: adreça_de_la_pàgina_B"); ?>

Exemple

La pàgina té el codi següent:

<? capçalera ("Estat: 301 Movida de manera permanent", falsa, 301); capçalera ("Ubicació: / contingut / 748-printer"); exit (); ?>

Així, quan feu clic a l'enllaç anterior, se us traslladarà automàticament a la pàgina

A més, és una redirecció permanent (Estat: 301 Movida de manera permanent). Així, si escriviu la primera URL a Google, us donarà l'adreça de la segona, com a prova que ha tingut en compte la redirecció

Interpretació de codi PHP

El codi PHP després de trucar a la funció de capçalera () serà interpretat pel servidor, fins i tot si el visitant ja ha anat a l'adreça especificada a la redirecció, cosa que significa que en la majoria dels casos té interès en fer-ho. seguiu la capçalera de la funció () de la funció exit () per no fer que el servidor funcioni de res:

<? php capçalera ('Estat: 301 Movida de manera permanent', falsa, 301); capçalera ("Ubicació: adreça"); exit (); ?>

Vegeu també

Aquest article ha aparegut primer CCM