Делаем редирект PHP: описание и примеры

При разработке или обслуживании сайтов нередко возникает необходимости в создании скрипта, который бы делал перенаправление пользователей на другой адрес. Такое перенаправление называется редиректом. Выполнять перенаправление можно как на стороне сервера, так и на стороне клиента. Чтобы выполнить редирект на стороне клиента нужно использовать JavaScript. Но чаще возникает необходимость в выполнении перенаправления на стороне сервера. Для этого нужно сделать редирект на PHP, так как PHP это серверный язык, а значит, и перенаправление будет выполняться не в браузере пользователей, а непосредственно на сервере.

Реализация перенаправления пользователей на другой адрес посредством PHP более универсальный и гибкий подход. С помощью этого языка можно создать несколько видов редиректа: обновление, постоянное перенаправление (редирект 301) и временное перенаправление (редирект 302). Данная статья рассчитана в основном на новичков, которые пытаются найти способ реализации редиректа URL, когда это нельзя сделать другими распространенными методами, например, внеся изменения в файл htaccess.

Заголовок языка PHP функции

Теперь рассмотрим наглядный пример реализации перенаправления на PHP. Предположим, что имеется адрес «http://mywebsite.org/page1.php», к которому и нужно выполнить перенаправление. Для этого нужно в код страницы, с которой будет выполняться редирект вставить такой скрипт:

<?php
header(‘Location: http://mywebsite.org/page1.php’);
?>

Чтобы лучше понять, как это работает, можно провести следующий эксперимент на локальном хостинге. Сначала нужно в текстовом редакторе создать файл «page1.php». Он может содержать, например, такой код:

echo "Hi this is page1";
?>

После этого в том же текстовом редакторе нужно создать другой файл, который будет называться «startpage.php». Содержимое этого файла должно быть таким:

<?php
header(‘Location: http://localhost/page1.php’);
?>

Теперь в адресной строке своего браузера нужно ввести URL «http://localhost/startpage.php». При загрузке страницы в браузере, этот адрес поменяется на «http://localhost/page1.php», а на экране появится надпись «Hi this is page1».

Очень часто в оформлении html-кода редиректа начинающие веб-мастера допускают ошибки. Приведем пример. Пусть имеется файл test.html, который содержит следующий код:

<html>
<head>
<title> Ошибка перенаправления </title>
</head >
<body>

<?php
header(‘Location: http://localhost/page1.php’);
?>

</body>
</html>

В этом коде содержится редирект на PHP, который должен выполнить перенаправление на страницу «page1.php». Если открыть этот файл на локальном хостинге, то браузер снова будет делать редирект на нужную страницу. Теперь попробуем сделать тот же эксперимент на удаленном хостинге, как это было бы в случае реального сайта. Для этого нужно загрузить все эти файлы в корневой каталог сайта на удаленном хостинге. Если выполнить скрипт редиректа, путем вызова «startpage.php» через адресную строку браузера, введя URL «http://mywebsite.org/startpage.php», то появится ошибка. Данная проблема кроется в том, что перед заголовком функции уже введен код html.

Warning: Cannot modify header information — headers already sent by (output started at /home/phpdevel/public_html/originatingpage.php:6) in /home/phpdevel/public_html/originatingpage.php on line 7

В чем польза редиректа?

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

Источник

Показать больше

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»