Как сделать редирект в PHP

PHP

Редирект – это автоматическое перенаправление пользователя при переходе по ссылке на страницу с другим адресом. Как правило, данный процесс делается максимально незаметным. Редирект может использоваться для замены неактуальных страниц, корректировки содержимого сайта и многих других целей.

Виды редиректов:

  1. HTML
  2. JavaScript
  3. PHP
  4. .htaccess

PHP

Рассмотрим процесс редиректа в PHP. Основные его особенные черты: 1) большое количество способов; 2) процесс происходит в скрипте сервера; 3)поисковым системам сложнее распознавать редирект.

Конструкция, с помощью которой осуществляется перенаправление клиента, — header(). Именно она изменяет адрес в строке поиска.

header(‘Location: http://php.ru/’)

Есть много вариантов кода редиректов, но самые распространенные – 301, 302, 303. Если 301, то страница будет заменена навсегда. 302 – редирект страницы на определенное время, 303 – на неопределенное.

Подобный вариант текста программы редиректа:

header(‘Location: https://example.com’, true, 301);
exit()

Этот метод может выдать ошибку при использовании ранее в программе конструкций вывода. Это можно исправить, всего лишь введя одну строку в начале скрипта.

ob_start()

.htaccess

Редирект с помощью .htaccess– один из самых простых. В папке сайта нужно создать файл с названием .htaccess. Затем написать строки, включающие директиву ReWriteEngine.

Options +FollowSymLinks
RewriteEngine On

Редирект не будет работать без присутствия на хостинге модулей mod_alias. Также, обязательно должен быть прописан адрес страницы, на которую осуществляется перенаправление. При этом, заменяемую ссылку описывают только с помощью корня адреса сайта.

Redirect Permanent 301 /oldpage.phphttps://site/newpage.php

HTML

При необходимости перенаправить посетителя сайта html используется head и /head, внутри которого описывается другой мета-тег. Также, с помощью конструкции content определяется время перехода на другую страницу.

<head>
<meta http-equiv=»refresh» content=»1;URL=http://ab-w.net» />
</head>

JavaScript

Последний способ выполнения редиректа осуществляется с помощью JavaScript. Можно описать моментальный переход или с задержкой. Для этого применяем функцию write( ) к конструкции document.

В скобках повторяем конструкцию document, а далее используем функцию location, ведь необходимо провести операцию с адресом. Последний шаг первой строки – применение свойства href, который осуществляет переотправку клиента.

document.write(document.location.href)
document.location.href =

После «=» указываем адрес сайта, на который необходимо осуществить редирект.

Смешанные способы

Кроме того, сделать редирект страницы можно при помощи команды PHPecho«». Она имеет крайне широкое применение, и одним из её функций является редирект страницы.

<?php
echo «<meta http-equiv=»refresh» content=»5;URL=https://ida-freewares.ru»>»

Редирект будет таким же, каким был в способе через конструкцию header.
Кроме того, средствами PHP можно сделать редирект страницы с заданным условием. То есть страница, на которую будет отправлен пользователь, будет зависеть от его прописанного типажа.

if ($user_type == «subscriber») {$redirect_url = «/subscriber.html»;}
elseif ($user_type == «author») {$redirect_url = «/author.html»;}
elseif ($user_type == «admin») {$redirect_url = «/admin.html»;}
else {$redirect_url = «/registration.html»;}

То же самое распределение можно сделать с помощью зависимости значение – ключ (по принципу словарей в python). Получается, одному типу посетителей соответствует одна ссылка.

$redirect_url = array (
«subscriber» => «/subscriber.html»,
«author» => «/author.html»,
«admin» => «/admin.html»,
«newuser» => «/registration.html»
);

Редирект можно осуществлять множеством способов. Для разных требований и возможностей подходят несколько или один из них. Даже для новичков в этом деле найдется подходящий по сложности метод ред

Оцените статью
Образовательный портал WELCOME4U.RU
Добавить комментарий

Adblock
detector