PHP редирект - перенаправление на другую страницу
- Категория: Код
- – Автор: Игорь (Администратор)
В рамках данной статьи, я расскажу вам про PHP редирект или же перенаправление на другую страницу.
Периодически возникают такие ситуации, когда нужно на серверной стороне организовать переадресацию на другой url (внешние ссылки, перенос адресов страниц и прочее). И делается это на самом деле очень просто и без каких-либо проблем.
Редирект в php осуществляется с помощью функции header с передачей соответствующих параметров. Вот описание самой функции:
Общий редирект в php выглядит так:
Как видите, все очень просто, всего лишь нужно указать параметр "Location:" а затем указать необходимый url адрес. Учтите, что по умолчанию такой редирект будет с кодом 302 (временно перемещено) или с тем кодом, который был установлен так же с помощью функции header (пример чуть ниже будет). Так же учтите, что переадресация на другой url должна осуществляться только в том случае, если до этого не было сгенерировано никакого кода html на странице. То есть до вызовов echo, print_r и прочего. И после этого так же не должен генерироваться html. В противном случае, это может приводить к ошибкам. Если же html-нужен, то лучше воспользуйтесь задержкой.
Редирект с задержкой в php:
Редирект с задержкой в php позволяет вам отображать на странице какой-то собственный текст в течении некоторого времени до реальной переадресации. Обычно, это привычное "через 5 секунд вы будете перенаправлены, если этого не произошло, щелкните по этой ссылке".
Сделать это можно с помощью двух методов.
В данном случае, редирект осуществит сам браузер через 5 секунд. Сделать такое можно и просто разместив специальный мета-тег в блоке head html-страницы.
Результат будет одинаковым. Однако, полезно знать альтернативные методы, так как некоторые браузеры такое могут не поддерживать. В крайнем случае, вы всегда можете использовать код javascript для переадресации, установив в "window.location" нужный url адрес.
Редирект в php с кодом 301
Периодически необходимо осуществлять редирект с кодом 301 (постоянно перенесено), например, если у вас изменился механизм генерации ЧПУ ссылок. В такой ситуации можно использовать два варианта:
Как видите, просто указали необходимый код http.
И второй вариант, аналогичный по смыслу, но может быть полезным, если установка кода и редирект должны осуществляться в разных местах.
Первая строка указывает код http, а вторая, собственно, задает адрес. В большинстве случаев, проблем не возникнет. Однако, если у вас используется режим FastCGI, то вместо "HTTP/1.1 301 Moved Permanently" может потребоваться написать "Status: 301 Moved Permanently".
Теперь, вы знаете, как сделать php редирект для разных случаев.
☕ Понравился обзор? Поделитесь с друзьями!
Комментарии / отзывы
against hackers? I'm kinda paranoid about losing everything. It was be hard on. Any tips?
from it I am sure.