Чтобы перенаправить посетителя на другую страницу (особенно полезно в условном цикле), просто используйте следующий код:
<?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();
?>