Как перенаправить на страницу с простым PHP

В последние годы большое количество разработчиков работают с любой из самых известных PHP-фреймворков, таких как Symfony, Laravel, CakePHP, Zend и т. Д., В качестве серверного решения для приложения или службы.

Использование фреймворка — огромное преимуществомногие из вас помнят, как перенаправить на другой сайт с помощью PHP? Возможно, ты забыл, не так ли? В этой статье вы узнаете, как перенаправить с помощью PHP на тот случай, если вы хотите обновить память или вам просто нужно знать, как это сделать.

Основное перенаправление

Теоретически, базовая функция перенаправления будет состоять из следующих строк:


Функция заголовка ожидает заголовок со значением в строке, в этом случае Location with принимает в качестве значения относительный или абсолютный путь (в качестве альтернативы — локальный путь, веб-URL, включая домен). Использование метода exit () при перенаправлении не позволяет странице отображать оставшееся содержимое (т. Е. Страницы с ограниченным доступом).

По умолчанию в ранее перенаправленном виде используется временное перенаправление, что означает, что любая поисковая система, такая как Google, будет игнорировать его при позиционировании. Поэтому, если вы хотите указать любой поисковой системе, что страница «A» теперь находится на «B», нам нужно указать код ответа в качестве третьего параметра в функции заголовка:

Замечания: помните, что второй параметр функции заголовков является логическим значением, которое указывает, должен ли заголовок заменить предыдущий или добавить второй заголовок. Перенаправление 301 означает, что страница навсегда переместилась в новое местоположение, а перенаправление 302 означает, что перемещение является только временным.

Вспомогательная функция

Если вам нужно знать, как перенаправить с помощью обычного PHP, но вы пришли из фреймворка, это, вероятно, лучшее решение для вас, метод перенаправления. Следующий метод иллюстрирует простейшую реализацию функции перенаправления:

function redirect($url, $permanent = false){
if (headers_sent() === false)
{
header('Location: ' . $url, true, ($permanent === true) ? 301 : 302);
}
exit();
}
// Redirect to external URLS
redirect('http://www.google.com/', false);
// Redirect with relative URL'S (or a file)
redirect('/my-folder/demo.php');

$permanent Параметр позволяет переключаться между кодами ответов (301 и 302).

Перенаправление — это, по сути, группа заголовков HTTP. Согласно протоколу HTTP, заголовки HTTP должны отправляться всегда раньше, чем любой другой контент, это означает, что ни один символ не должен отправляться в качестве ответа (echo, print_r или любая другая функция, генерирующая выходной результат), даже не пустой пространство.

Повеселись !

Ссылка на основную публикацию
Adblock
detector