Як перенаправити користувача

Як перенаправити користувача

Основою навігації в інтернеті є гіперпосилання. За ним користувачі переходять від сторінки до сторінки, від сайту до сайту. Як правило, саме користувач вирішує, коли здійснити перехід. Однак іноді після вчинення певних дій на сторінці потрібно автоматично перенаправляти користувача на іншу сторінку сайту або навіть на інший ресурс.

Вам знадобиться

- Можливість редагування скриптів сайту;
- Можливість редагування файлів. Htaccess;
- Можливість зміни шаблонів сторінок;
- Можливість зміни html-коду сторінок.

Інструкція

  1. Перенаправьте користувача на інший ресурс шляхом додавання поля Location в заголовок HTTP-відповіді сервера. Модифікуйте скрипти системи управління вмістом або Налаштуйте сервер (наприклад, шляхом активації модуля ModRewrite Apache і внесенням відповідних директив у файл. Htaccess) таким чином, щоб у потрібних випадках поле Location присутнє в заголовку.

    Вмістом поля Location заголовка HTTP-відповіді сервера повинен бути абсолютний URI ресурсу, на який здійснюється перенаправлення. У більшості випадків користувацькі агенти здійснюють негайну завантаження даних зазначеного ресурсу, навіть якщо код відповіді сервера вказує на наявність у повідомлення тіла. Однак при здійсненні перенаправлення має сенс обмежуватися передачею лише заголовка відповіді, який містить тільки поле статусу з коректним кодом і поле Location.

    Виберіть код відповіді з діапазону значень 301-303 згідно RFC 2616. Сформуйте мінімальний заголовок і передайте його користувача агенту. Наприклад, на мові PHP код формування заголовка може виглядати так:

    header (‘HTTP/1.0 303′);

    header (‘Location: http://codeguru.ru’));

    Зверніть увагу на те, що при використанні ModRewrite можна також вибрати потрібну код відповіді.
  2. Здійсніть перенаправлення користувача, використовуючи мета-тег з атрибутом http-equiv, встановленим в значення refresh. Мета-теги додаються в розділ HEAD документа. Вмістом атрибута content даного тега повинна бути рядок, що складається з числа, що задає час затримки (в секундах) перед перенаправленням і URI цільового ресурсу (абсолютного або відносного), відокремленого від числа комою. Наприклад, для здійснення перенаправлення користувача через 10 секунд після завантаження сторінки, можна використовувати наступний код:

    <meta http-equiv=»refresh» content=»10,http://codeguru.ru» />

    Подібний метод часто використовується для створення сторінок-заставок, відображаються після здійснення користувачем певних дій (наприклад, сторінка з повідомленням після додавання відповіді на форумі).
  3. Реалізуйте перенаправлення за допомогою клієнтського сценарію. Використовуйте можливості зміни властивостей location об’єктів window і document. Найпростіший приклад HTML-коду, що визначає фрагмент впровадженого в документ сценарію на мові JavaScript, може виглядати так:

    <script type=»text/javascript»>

    <! -

    document.location = «http://codeguru.ru»;

    ->

    </ Script>

    Даний метод перенаправлення доцільно комбінувати з тим, що був описаний в другому кроці, виробляючи зміна властивості location у функції-обробнику події таймера.