Перанакіраванне PHP (загаловак перанакіравання) - Парады

Любы вэб-майстар аднойчы разумее, што адзін з яго файлаў мае імя, якое не адпавядае альбо што дрэва файлаў павінна быць зменена. Аднак, калі змяніць спасылкі на сваім сайце адносна лёгка, змяніць знешнія спасылкі на іншыя сайты значна складаней. Больш за тое, калі мы мяняем старонкі на месцах, пошукавыя сістэмы могуць адпраўляць карыстальнікаў у вакууме альбо, яшчэ горш, скідваць усе спасылкі на старонку.

На шчасце, ёсць простае рашэнне: перанакіраванне, каб захаваць узгодненасць навігацыі (і SEO) сайта, нават калі ўсе файлы памяняліся месцамі.

Загалоўкі HTTP

Перанакіраванні з'яўляюцца загалоўкамі HTTP. Аднак, згодна з пратаколам HTTP, загалоўкі HTTP павінны быць адпраўлены перад любым іншым тыпам змесціва, а гэта азначае, што перад выклікам функцыі загалоўка не павінна быць адпраўлена ніякіх сімвалаў!

Іншымі словамі, функцыя Загаловак () павінна быць выкарыстоўваецца перад любым HTML-кодам,

Для атрымання дадатковай інфармацыі прачытайце гэты артыкул: Памылка "загалоўкі ўжо адпраўленыя"

Vidéo

Простае перанакіраванне

Каб перанакіраваць наведвальніка на іншую старонку (асабліва карысна ва ўмоўнай цыкле), проста выкарыстоўвайце наступны код:

<? php header ("Месцазнаходжанне: <ital> mapage.php </ ital> '); ?>

дзе mypage.php пазначае адрас старонкі, на якую трэба перанакіраваць. Гэты адрас можа быць абсалютным, а таксама можа мець параметры формы

mypage.php? param1 val1 = & = m2 val2

).

Адносны / абсалютны шлях

У ідэале аддайце перавагу абсалютнаму шляху ад кораня сервера (DOCUMENT_ROOT) наступнай формы:

<? php header ("Месцазнаходжанне: <ital> /directory/mapage.php </ ital> '); ?>

Калі калі-небудзь мэтавая старонка знаходзіцца на іншым серверы, вы згадваеце поўны URL наступнай формы:

<? php header ('Месцазнаходжанне: <ital> http: </ ital> <ital> // www.commentcamarche.net/forum / </ ital>'); ?>

Часовыя / пастаянныя перанакіраванні

Па змаўчанні паказаны вышэй тып перанакіравання - часовае перанакіраванне. Гэта азначае, што такія пошукавыя сістэмы, як Google, не ўлічваюць SEO.

Такім чынам, калі вы хочаце паведаміць пошукавым сістэмам, што старонка А зараз знаходзіцца ў раздзеле B, у самым пачатку файла PHP, які адпавядае старонцы A, вы павінны выкарыстоўваць наступны код:

<? php загаловак ("Статус: 301 пастаянна перамешчаны", false, 301); загаловак ('Адрас: address_of_the_page_B'); ?>

Exemple

На старонцы ёсць наступны код:

<? загаловак ("Статус: 301 пастаянна перамешчаны", хлусня, 301); загаловак ("Месцазнаходжанне: / змест / 748-прынтэр"); Выхад (); ?>

Такім чынам, пры націску на спасылку вышэй, вы аўтаматычна пераходзіце на старонку

Акрамя таго, гэта пастаяннае перанакіраванне (Статус: 301 Перамешчаны пастаянна). Такім чынам, калі вы ўвядзеце першы URL у Google, ён дасць вам адрас другога, як доказ таго, што ён улічыў перанакіраванне

Інтэрпрэтацыя кода PHP

Код PHP пасля выкліку функцыі header () будзе інтэрпрэтаваны серверам, нават калі наведвальнік ужо пайшоў па адрасе, указанаму ў перанакіраванні, гэта азначае, што ў большасці выпадкаў у вас ёсць зацікаўленасць у гэтым. прытрымлівайцеся загалоўку функцыі () функцыі exit (), каб не прымусіць сервер працаваць дарма:

<? php загаловак ("Статус: 301 пастаянна перамешчаны", false, 301); загаловак ('Месцазнаходжанне: адрас'); Выхад (); ?>

Глядзі таксама

Гэты артыкул была ўпершыню апублікаваная на CCM