Чтобы перенаправить посетителя на другую страницу (особенно полезно в условном цикле), просто используйте следующий код:
<?php
header('Location: mypage.php');
?>
В данном случае mypage.php
это адрес страницы, на которую вы хотите перенаправить посетителей. Этот адрес может быть абсолютным и может также включать параметры в этом формате:mypage.php?param1=val1&m2=val2)
Относительный / Абсолютный Путь
При работе с относительными или абсолютными путями, идеально выбрать абсолютный путь от корня сервера (DOCUMENT_ROOT). Используйте следующий формат:
<?php
header('Location: /directory/mypage.php');
?>
Если целевая страница находится на другом сервере, вы включаете полный URL:
<?php
header('Location: http://www.ccm.net/forum/');
?>
Заголовки HTTP
Согласно протоколу HTTP, заголовки HTTP должны отправляться before
любым типом контента. Это означает, что никакие символы никогда не должны отправляться перед заголовком - даже пустое место!
Временные / постоянные перенаправления
По умолчанию тип перенаправления, представленный выше, является временным. Это означает, что поисковые системы, такие как Google Search, не будут учитывать перенаправление при индексации.
Если вы хотите уведомить поисковые системы о том, что страница была постоянно перемещена в другое место, используйте следующий код:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
?>
Например, эта страница имеет следующий код:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: /pc/imprimante.php3');
exit();
?>
Когда вы нажимаете на ссылку выше, вы автоматически перенаправляетесь на эту страницу. Более того, это постоянное перенаправление (статус: 301 перемещен навсегда). Таким образом, если вы введете первый URL в Google, вы будете автоматически перенаправлены на вторую, перенаправленную ссылку.
Интерпретация PHP-кода
Код PHP, расположенный после header (), будет интерпретироваться сервером, даже если посетитель переходит на адрес, указанный в перенаправлении. В большинстве случаев это означает, что вам нужен метод, чтобы следовать header()
функции exit()
функции, чтобы уменьшить нагрузку на сервер:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: address');
exit();
?>