Пишем редирект на php (header)

Как сделать?



В php есть замечательная функция header, которая разрешает не только подменять стандартные заголовки, но и добавлять новые.

Как использовать?



Для редиректа на php используется функция header - с добавлением заголовка Location либо Refresh.

Синтаксис:



void header ( string string [, bool replace = true [, int http_response_code]] );


Первый параметр string - полностью сформированная строка заголовка, который необходимо добавить (без завершающего перевода строки "\n")

Второй параметр replace указывает, нужно ли заменять заголовки с одинаковыми именами (true), или же добавлять в конец (false).

Параметр http_response_code указывает код http-ответа (300, 301, 302 и т.д.).

Примеры:



header( 'Location: http://yandex.ru/yandsearch?text=redirect', true, 301 ); // сделать переадресацию с помощью 301 редиректа на поиск в Яндексе слова redirect.


header( 'Location: http://google.ru/search?q=redirect' ); // с помощью 302 редиректа переадресовывать на поиск в гугле слова redirect (При использовании Location без указания кода редиректа, по умолчанию используется 302-й).


header( 'Location: /article/page.htm', true, 303 ); // с помощью 303 редиректа переадресовать на внутреннюю страницу сайта.


header( 'Location: /', true, 307 ); // перебросить на главную страницу сайта с использованием 307 редиректа.


header( 'Refresh: 5; url=http://rambler.ru/' ); // переадресовать на главную страницу Рамблера через 5 секунд после загрузки страницы.


header( 'Refresh: 0; url=/error404.html' ); // переадресовать на страницу ошибки немедленно (без задержки).