• доступно о веб-разработке
29.11.2012 JavaScript, PHP, Технологии

Редирект


Периодически у вас возникает потребность перенаправить посетителя сайта на другой адрес. К примеру, у вас несколько доменов для одного сайта, но только один из них основной. Другие же выполняют функцию удобного короткого адреса, например. Поэтому их задача — перенаправить всех гостей на основной адрес. Как это сделать? Об этом вы и узнаете в данном посте.
Расскажу вам о двух основных способах перенаправления. Когда вы работаете с PHP, то можете помимо самого документа формировать заголовок ответа. Так устроена система, что перед любым «телом» запроса (от клиента к серверу и наоборот) идёт заголовок, в котором содержится важная информация.

К примеру, язык браузера и локальной операционной системы, Cookies, версия и тип браузера и так далее.

Отвечая клиенту, сервер также отправляет свои заголовки вместе с запросом. Один из таких заголовков может перенаправить браузер на другой адрес:

<?php

header("Location: http://codemotion.ru");

Помните важную вещь. Заголовки должны идти до вывода информации. То есть если мы напишем вот так:

<?php

echo "Hello, codemotion!";

header("Location: http://codemotion.ru");

то указанный заголовок не сработает.

Потому что заголовки предваряют тело ответа или запроса.

Важно. Вы можете подвесить браузер (он выдаст ошибку), если установите бесконечный редирект.

К примеру, в файле http://localhost/index.php вы укажете код header(«Location: http://localhost»).

По сути дадите команду файлу вызывать самого себя. Получится бесконечная петля. Избегайте этого.

 

Второй вариант редиректа поможет вам тогда, когда PHP не доступен, а доступен лишь HTML.

Создаете index.html, кидаете его в корень сайта (если есть необходимость перенаправлять с главной страницы) и ставите код в тег <body>:

<script type="text/javascript">
    window.location = 'http:// codemotion.ru';
</script>

В JavaScript, как и в PHP, есть глобальные переменные окружения. Одна из них — окно браузера, доступ к которому происходит описанным образом. Вы можете узнать все свойства окна, открыв консоль и набрав его переменную:

В данном случае мы меняем значение адресной строки, а браузер, реагируя на это, перенаправляет нас по новому адресу.

Есть и другие виды редиректа, например через команды веб-серверам Apache и Nginx. О них мы поговорим тогда, когда дело дойдет до настройки серверов.

Поделиться

Комментарии Правила дискуссии

Читайте ранее:
Установка WordPress

httpv://www.youtube.com/watch?v=zbBcaa4JLnA Сегодня вы станете участником эксперимента. Шестой по счету видеоурок научит вас устанавливать самую популярную в мире систему управления сайтами...

Закрыть