Как перенаправить в PHP: что вам нужно знать
PHP поддерживает некоторые из самых популярных веб-сайтов в мире, включая веб-сайты WordPress. Это популярный язык сценариев для разработки веб-сайтов, потому что он быстрый, гибкий и простой в освоении. PHP в основном используется для быстрого создания динамически генерируемых веб-страниц, хотя он может гораздо больше.
Например, PHP может упростить определенные задачи, такие как настройка перенаправления. Давайте подробнее рассмотрим, что такое перенаправление PHP, а затем рассмотрим, как его настроить.
Что такое перенаправление PHP?
Перенаправление PHP – это серверное решение для перенаправления пользователей и поисковых систем с одного URL на другой с помощью функции header(). Поскольку на стороне сервера – в отличие от перенаправления HTML на стороне клиента – перенаправление PHP обеспечивает более быструю и безопасную навигацию с одной страницы на другую.
Теперь, когда мы понимаем преимущества перенаправления PHP, давайте посмотрим, как его настроить.
Как перенаправить в PHP
Для перенаправления в PHP вам сначала нужно написать функцию header (), начиная с header ().
Затем в круглых скобках вы определите поле заголовка ответа Location с URL-адресом или именем файла, на которые вы хотите перенаправить пользователей и поисковые системы. Поддерживаемые файлы включают PHP, HTML, Python, CGI, Perl или скомпилированные программы CGI. Таким образом, ваша функция заголовка может выглядеть примерно так: header ("Location: http://www.example.com/"); или заголовок ("Location: example.php /");
После точки с запятой вам нужно будет добавить последнюю функцию: функцию die () или exit (). Без какой-либо из этих функций сканеры или боты поисковых систем могут игнорировать функцию заголовка и продолжить обработку страницы, с которой вы хотите перенаправить. Вот как теперь может выглядеть ваш заголовок: header ("Location: http://www.example.com/"); Выход;
Наконец, вы заключите эту функцию в теги <? Php и?>. Окончательный результат будет выглядеть примерно так:
<?php
header('Location: http://www.example.com/');
exit;
?>
Заголовок перенаправления PHP
Есть несколько дополнительных правил использования функции header () для настройки перенаправления PHP. Во-первых, имеет значение то, где вы размещаете функцию header () в файле index.php. Во-вторых, вы можете установить коды состояния HTTP, чтобы контролировать, как сервер перенаправляет пользователя и поисковую систему.
Давайте подробнее рассмотрим эти правила ниже.
Расположение заголовка PHP
Чтобы перенаправление PHP работало, функция header () должна выполняться перед отправкой любого вывода. Это означает, что код должен быть написан над тегами <! DOCTYPE html> или в вашем файле index.php.
В противном случае вы, скорее всего, получите сообщение об ошибке, в котором говорится, что «заголовки уже отправлены». Предположительно, функция заголовка настолько привередлива, что один пробел может вызвать эту ошибку.
Вот посмотрите на правильное место:
<?php
header('Location: http://www.example.com/');
exit;
?>
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
</head>
<body>
<p>Hello, world!</p>
</body>
</html>
Вот посмотрите на неподходящее место:
<!DOCTYPE html>
<html>
<?php
header('Location: http://www.example.com/');
exit;
?>
<head>
<title>Example</title>
</head>
<body>
<p>Hello, world!</p>
</body>
</html>
Коды ответа HTTP-статуса
Коды ответа статуса HTTP позволяют узнать, был ли ваш HTTP-запрос успешно выполнен. Есть разные группы кодов ответов, включая перенаправления. Поскольку код состояния перенаправления изменяет способ обработки перенаправления браузерами и роботами поисковых систем, рекомендуется установить код состояния при использовании заголовка (Местоположение :). Давайте посмотрим на различия между двумя наиболее распространенными кодами статуса перенаправления ниже.
Код 302
Если код состояния не указан в функции заголовка, то по умолчанию он равен 302. 302 указывает на временное перенаправление. Это означает, что запрошенный URL-адрес временно находится под другим URI.
При перенаправлении 302 браузеры обычно кэшируют страницу для сеанса и больше не кэшируют. Поисковые системы также обычно не переносят рейтинг страницы в новое место. Это делает переадресацию 302 идеальным вариантом для обслуживания сайта или других случаев временного использования.
Вот пример вызова заголовка с указанным кодом 302:
<?php
header("Location: https://www.examplecom/", true, 302);
exit();
?>
Этот вызов не только отправляет заголовок обратно в браузер, но также возвращает код статуса перенаправления 302.
Перенаправление PHP 301
Если вы хотите, чтобы перенаправление PHP было постоянным, а не временным, вы можете использовать код состояния 301. 301 указывает на постоянное перенаправление, поэтому браузер автоматически перенаправит пользователя, использующего старый URL, на новый адрес страницы, и сообщить роботам поисковых систем, что страница больше не доступна и может быть заменена новой страницей. В результате, редирект 301 считается наиболее удобным для пользователей и поисковых систем кодом 3xx.
Другие ключевые различия между переадресацией 302 и 201 заключаются в том, что браузеры обычно кэшируют страницу дольше, чем сеанс, возможно, даже на неопределенный срок, а поисковые системы обычно переносят рейтинг страницы в новое место. Это делает переадресацию 301 идеальной для перенаправления дублированного контента, миграции на новый домен и многого другого.
Вот пример вызова заголовка с указанным кодом 301:
<?php
header("Location: https://www.examplecom/", true, 301);
exit();
?>
Перенаправление PHP без заголовка
Если у вас есть проблемы с функцией заголовка, вы все равно можете настроить перенаправление PHP с помощью JavaScript. Хотя при использовании JavasScript перенаправление может выполняться медленнее, оно все равно будет эффективным.
Настроить перенаправление с помощью JavaScript очень просто. Вы начинаете с функции window.location. Затем добавьте атрибут href с URL-адресом, на который вы хотите перенаправлять пользователей и ботов поисковых систем. Не забудьте добавить соответствующие атрибуты, чтобы он открывался в новом окне. Наконец, заключите его в теги .
Вот как будет выглядеть код с использованием JavaScript:
<?php
<script type="text/javascript"> window.location.rel="noopener" target="_blank" href = 'http://www.example.com/';
</script>
?>
Однако у этого метода есть несколько проблем, помимо того, что он медленнее. Прежде всего, для этого необходимо включить и загрузить JavaScript в браузере клиента. Здесь также нет кодов состояния, поэтому вы не можете включать информацию о перенаправлении для поисковых систем. По этим причинам использование функции заголовка считается лучшей практикой.
Настройка перенаправления PHP
Перенаправления PHP могут помочь пользователям и поисковым системам плавно и безопасно перемещаться между страницами вашего сайта. Хорошая новость заключается в том, что настроить эти перенаправления очень просто благодаря функции header ().
Источник записи: https://blog.hubspot.com