Редирект на PHP для начинающего вебмастера

Быстрая навигация по этой странице:

Если вы решили написать скрипт и сделать редирект PHP, преимущества этого шага очевидны: PHP – серверно ориентированный язык скриптов; перенаправление будет выполняться посредством скрипта на сервере, а не в браузере посетителей. Некоторые перенаправления могут быть выполнены на стороне клиента — через редирект js (то есть через JavaScript редирект).

Это более гибкий и универсальный подход, и вы можете выполнить несколько типов редиректа в PHP, в отличие от других методов. Вот — наиболее частые виды редиректа, которые можно сделать в PHP: a) 301 редирект PHP (статус постоянного перенаправления), b) 302 редирект PHP (временный статус переадресации), с) Обновление.

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

редирект PHP

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

Например, предположим, вы хотите сделать редирект к этому URL http://www.somewebsite.com/target.php. В исходном PHP страницы, Вам просто следует вызвать этот скрипт редиректа:

<?php

header('Location: http://www.somewebsite.com/target.php');

?>

Попробуйте также провести этот простой эксперимент на вашем локальном хостинге:

1) Откройте текстовый редактор и введите этот код:

<?php

echo "Hi this is codex-x";

?>

Сохраните его как targetpage.php.

2) Откройте другой пустой текстовый файл и введите этот код:

<?php

header('Location: http://localhost/targetpage.php');

?>

Сохраните его как originatingpage.php.

3) Теперь запустите веб-браузер. В адресной строке браузера введите: http://localhost/originatingpage.php

4) Вы заметите, что после нажатия кнопки ввода, этот URL: http://localhost/originatingpage.php делает редирект на http://localhost/targetpage.php и на targetpage.php, и вы видите слова «Hi this is codex-x».

Одна из самых распространенных ошибок может крыться в оформлении кода html редиректа:

Попробуйте выполнить этот эксперимент:

Перейдите к скрипту originatingpage.php и добавьте любой HTML тег:

header(‘Location: http://localhost/targetpage.php’);

Предположим, у вас есть такой код:

<html>
<head>
<title> Это – ошибка редиректа </ TITLE>
</ HEAD>
<body>
<? PHP

header('Location: http://localhost/targetpage.php');

>
</ BODY>
</ HTML>

2) Сохраните файл.

3) Запустите снова скрипт originating.php в браузере. Если вы не видите любые ошибки, вы заметите, что она по-прежнему чисто перенаправляет к targetpage.php

4) Теперь попробуйте изменить целевой URL, чтобы указать на реальный сайт, например:

<html>
<head>
<title> пример ошибки редиректа</ TITLE>
</ HEAD>
<body>
<? PHP

header('Location: http://localhost/targetpage.php');

>
</ BODY>
</ HTML>

5) Загрузите originatingpage.php на удаленный хостинг в корневой каталог сайта.

6) Выполните скрипт в браузере с помощью вызова originatingpage.php URL, например: http://www.php-developer.org/originatingpage.php

7) Вы заметите, что на этот раз, вы столкнетесь с ошибкой:

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

Что здесь происходит? Причиной проблемы является то, что у вас уже выведен код HTML перед заголовком функции.

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

Благодаря редиректу, вы можете осуществлять перенаправление пользователей с одной веб-страницы на другую. Также, если например, на вашем сайте тексты ссылок на статьи пребывают в неприглядном виде (набор цифр или знаков), их можно изменить, применив транслитерацию и сделав редирект на эти ссылки. Возможности перенаправления практически неограниченны! Польза этого метода для повышения индексации страниц, улучшения показателей сайта, привлечения пользователей очевидна.

Если Вы нашли для себя что-то полезное на этой странице, пожалуйста, нажмите на одну из этих кнопок:
http://pedant.ru/remont-apple/iphone/zamena-akkumulyatora?object=5
Комментарии
  1. Gregoryll

    Интересно. Если делать редирект на корявые урлы, то сколько редиректов тогда надо будет сделать? Страниц-то много…
    Блин, а ведь я искал простую страничку хтмл, чтобы редиректить на другой сайт… что ж, буду дальше искать….

    • Бро

      Если Вы имелии ввиду это:
      то искать уже не надо. 0-секунды перед редиректом, урл-само собой.

  2. Roman

    Подскажите пж, как сделать массовый редирект на товары в витрине интернет-магазина. Можно ли как-то создать универсальный php документ под эти ссылки, чтобы они редиректились?

  3. Woot

    Как сделать редирект при условии. Например на странице появляется текст после нажатия кнопки, и как он появляется редирект на другую.

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>