Содержание
Как сделать редирект на HTML | REG.RU
Читайте нашу статью, если хотите узнать, что такое, для чего используется и как настроить редирект HTML.
Что такое редирект
Редирект — это перенаправление пользователя с одной страницы на другую. Когда пользователь вводит в адресной строке один URL-адрес, браузер автоматически переводит его на другой URL. Перенаправление можно настроить как на сторонний сайт, так и с одной страницы на другую внутри одного сайта.
Чаще всего используются такие редиректы:
- 301 редирект — его настраивают, когда страница навсегда перенесена на другой URL. При таком редиректе поисковики индексируют только новый вариант страницы — на неё и попадает пользователь.
- 302 редирект — его настраивают, когда страница перенесена временно. В этом случае поисковые системы индексируют и старый, и новый вариант страницы.
Для чего используют редирект
HTML redirect на другую страницу используют в таких случаях:
- перенос сайта на другой домен. Лучше всего настраивать редирект на другой сайт, в тот момент, когда старый сайт ещё ранжируется в поисковой выдаче;
- использование устаревших браузеров. Если часть посетителей пользуется старыми версиями браузеров, у них может не быть поддержки файлов Cookie и могут не работать другие способы перенаправления;
- показ новой информации с задержкой по времени — если нужно, чтобы редирект срабатывал не сразу. Допустим, вы проводите акцию на сайте и хотите привлечь к ней внимание. Для этого можно настроить переадресацию с главной страницы сайта на страницу акции;
- перенаправление пользователя на другую страницу сайта. Например, после оплаты покупки.
- перенос разделов на субдомены. Например, на странице вашего сайта site.ru/catalog был перечень услуг. Но набор услуг увеличивался, и со временем понадобилось перенести его на субдомен catalog.site.ru. В этом случае удобно настроить редирект с site.ru/catalog на catalog. site.ru;
- перенаправление нескольких доменов на один основной. Клиентам бывает сложно запомнить домен сайта. Поэтому часто владельцы сайтов регистрируют помимо основного домена схожие с ним доменные имена и настраивают редирект на основной сайт. Так клиенты с большей вероятностью попадут на основной сайт.
Настроить перенаправление можно несколькими способами:
- через панель управления хостингом,
- через файл .htaccess,
- с помощью скрипта редиректа PHP,
- через метатег HTML.
HTML-редирект может замедлить продвижение сайта в поисковых системах. Рекомендуем его использовать только при отсутствии поддержки PHP, на тарифе хостинга Host-Lite.
В инструкции ниже мы расскажем, как настроить редирект посредством HTML.
Что такое HTML-редирект
Редирект на HTML настраивается в коде индексного файла. Индексный файл чаще всего называется index.html. Внутри файла в блоке head нужно прописать специальный метатег Refresh. При использовании метатега Refresh перенаправление срабатывает в коде страницы. Это значит, что перенаправляет не скрипт на сервере, а именно браузер.
Допустим, вы сделали HTML-редирект со страницы index.html на new_index.html. В этом случае перенаправление будет работать по такой схеме:
- Браузер запрашивает файл стартовой страницы index.html с сервера.
- Сервер находит index.html и отвечает на запрос браузера.
- Когда браузер открывает страницу index.html, он «читает» строки кода, которые прописаны в файле. Когда он доходит до строки с HTML-редиректом, то видит в ней упоминание файла new_index.html.
- Браузер посылает запрос к серверу, на котором хранится new_index.html.
- Сервер находит эту страницу и отвечает на запрос браузера.
- Браузер открывает страницу new_index.html.
Метатег Refresh выглядит так:
<meta http-equiv="refresh" content="0;URL=http://site.ru"/>
Где:
- content — время ожидания редиректа в секундах. Укажите 0, если хотите, чтобы перенаправление срабатывало сразу;
- URL — ссылка на конечную страницу.
Как настроить HTML-редирект
-
1.Откройте индексный файл.
-
2.Введите текст:
<head> <meta http-equiv="refresh" content="0;URL=http://site.ru" /> </head>
Где:
- 0 — время ожидания редиректа в секундах. Оставьте значение 0, если хотите, чтобы редирект срабатывал без задержки;
- http://site.ru — ссылка на страницу, на которую должен вести редирект. Если на конечном сайте установлен SSL-сертификат, укажите https:// вместо http://.
-
3.Затем сохраните изменения.
Код редиректа будет выглядеть так:
Готово, вы настроили HTML-редирект.
Помогла ли вам статья?
Да
18
раз уже
помогла
Как сделать редирект: обзор способов
В этой статье вы найдете подробную информацию о редиректах. Познакомитесь с видами перенаправлений и узнаете, какие задачи они решают. Узнаете, как сделать редирект разными способами и какой метод перенаправления предпочтителен в конкретных случаях.
Редирект работает как регулировщик: направляет посетителей сайта и роботов на нужные страницы
Оглавление:
Что такое редиректы и зачем они нужны
Какие бывают виды редиректов и когда их используют
Редирект 301
Редирект 302
Редиректы 303 и 307
Какие типы редиректов бывают
Что такое htaccess-редирект
PHP-редиректы
JavaScript-редирект
HTML-редирект
Где взять код редиректа
Как делать редиректы: популярные примеры
Как сделать редирект с http на https
Как сделать редирект с или на www
Как настроить перенаправление с одной страницы
Как настроить редирект при смене домена
Как сделать редирект папки
Частные случаи: редирект слэша и редирект расширения
Как проверить редирект
Сделать редирект просто
Оглавление:
Что такое редиректы и зачем они нужны
Какие бывают виды редиректов и когда их используют
Редирект 301
Редирект 302
Редиректы 303 и 307
Какие типы редиректов бывают
Что такое htaccess-редирект
PHP-редиректы
JavaScript-редирект
HTML-редирект
Где взять код редиректа
Как делать редиректы: популярные примеры
Как сделать редирект с http на https
Как сделать редирект с или на www
Как настроить перенаправление с одной страницы
Как настроить редирект при смене домена
Как сделать редирект папки
Частные случаи: редирект слэша и редирект расширения
Как проверить редирект
Сделать редирект просто
Что такое редиректы и зачем они нужны
Редирект — перенаправление пользователя с одного URL на другой. Например, при переходе по ссылке http://texterra.ru/blog/ браузер автоматически перенаправляет пользователя на URL https://texterra.ru/blog/.
Редиректы помогают корректно перенаправлять посетителей на нужные страницы сайта без ущерба для пользовательского опыта и без нарушения требований поисковых систем. Правильно выполненный редирект сохраняет авторитет или ссылочный вес страницы-донора и передает его на страницу-акцептор.
В данном случае донор – страница, с которой перенаправляются пользователи. Акцептор – страница, на которую направляются пользователи.
Вот примеры использования редиректов:
- Перенаправление с http на https. Пример указан выше.
- Перенаправление с URL с www на URL без www и наоборот. При переходе по ссылке https://tinkoff.ru браузер перенаправляет пользователя на https://www.tinkoff.ru. При переходе по ссылке https://www.vc.ru браузер перенаправляет посетителя на https://vc. ru/.
- Переезд сайта на другой домен. Пару лет назад коллеги из популярного издания отказались от названия «Цукерберг позвонит» и настроили редирект с адреса http://siliconrus.com на https://vc.ru/.
- Перенаправление трафика с одной страницы сайта на другую. Например, если в интернет-магазине нет какого-то товара, он может перенаправить трафик на страницу похожего продукта.
- Перенаправление пользователей на мобильную версию сайта. Если владелец ресурса использует для адаптации к мобильному трафику только мобильную версию сайта, он настраивает редирект мобильных пользователей с www.example.au на www.m.example.au.
С помощью редиректов владелец сайта направляет пользователей с неактуальных страниц на актуальные. Перенаправления классифицируются по функциональному назначению и по способу реализации.
Продвинем ваш бизнес
В Google и «Яндексе», соцсетях, рассылках, на видеоплатформах, у блогеров
Подробнее
Какие бывают виды редиректов и когда их используют
Для пользователя все редиректы одинаковы: при попытке перейти по одному URL они попадают на другой URL. Обычно интернет-серферы даже не замечают, что браузер перенаправил их с одного адреса на другой.
Браузеры и роботы поисковых систем определяют вид редиректа по коду состояния HTTP. Перенаправления могут иметь разный HTTP-статус: 301, 302, 303, 307. Рассмотрим каждый подробнее.
Редирект 301
Это самый распространенный вид перенаправления. HTTP-статус 301 значит, что ресурс навсегда перемещен с запрошенного URL на новый. После получения ответа 301 браузер делает новый запрос и перенаправляет пользователя на актуальную страницу.
301 Moved Permanently: ищите хозяев по новому адресу
Если вы используете редирект 301, авторитет и ссылочный профиль старой страницы передаются на новую. Например, не бойтесь потерять вес входящих ссылок при переводе сайта на безопасный протокол соединения. Корректный редирект 301 с http на https сохраняет эту характеристику ресурса и его конкретных страниц.
Редирект 302
В HTTP 1. 0 статус 302 использовался для обозначения временного перемещения запрошенного ресурса на новый адрес. В HTTP 1.1 редирект 302 обозначает статус «Найдено» или Found. То есть ресурс существует, но владелец на некоторое время переместил его на новый адрес. Редирект 302 не передает авторитет и ссылочный профиль донора акцептору.
В HTTP 1.1 для временного перенаправления предложены редиректы 303 и 307. Это связано с некорректной обработкой статуса 302 в некоторых браузерах.
По стандартам HTTP 1.0 браузер после получения ответа 302 должен использовать для нового запроса метод POST. Разработчики некоторых браузеров не соблюдают этот стандарт и используют для нового запроса метод GET. В HTTP 1.1. эту проблему решают редиректы 303 и 307.
Вместо 302 для временного перенаправления лучше использовать редиректы 303 и 307.
Редиректы 303 и 307
В HTTP 1.1 статус 303 предложен вместо редиректа 302. Значение кода – See Other или «Смотрите другой ресурс». Для нового запроса браузер должен использовать метод GET. Применяйте редирект 303, когда у вас нет адекватного ответа на запрос пользователя, но имеется более или менее подходящая замена.
Редирект 303 подходит, когда на целевой странице есть формы. В этом случае важно, чтобы браузер делал запрос безопасным методом GET.
Статус 307 также используется вместо редиректа 302. Значение кода – Temporary Redirect или «временное перенаправление». Браузер не должен менять метод нового запроса. Запросы безопасными методами GET и HEAD выполняются автоматически. Запросы небезопасными методами, например, POST, выполняются с подтверждением пользователя.
Используйте редирект 307, чтобы показать, что искомый ресурс временно доступен по другому адресу.
Промежуточный вывод: в большинстве случаев владельцам сайтов подходит редирект 301. В этом случае HTTP-статус уведомляет поисковых роботов, что документ навсегда перемещен на новый адрес. Этот вид редиректа передает авторитет и ссылочную массу со страницы-донора на страницу-акцептор. Редиректы 303 и 307 используются, когда владелец сайта хочет временно перенаправлять пользователей с одного документа на другой.
96 причин не хоронить SEO – чек-лист по оптимизации сайта
Какие типы редиректов бывают
Редиректы классифицируются по способу реализации. Настроить перенаправление можно через файл .htaccess или nginx.config, средствами PHP, HTML, JavaScript. Подробнее о каждом типе ниже.
Что такое htaccess-редирект
Так называют серверный редирект, который настраивается в файле .htaccess для сайтов, которые находятся на серверах под управлением Apache.
Чтобы настроить перенаправление, внесите изменения в файл .htaccess. Для доступа к файлу воспользуйтесь FTP-клиентом, например, FileZilla. В настройках программы в меню «Сервер» включите принудительное отображение скрытых файлов. Файл .htaccess находится в папке с названием доменного имени ресурса в каталоге public_html.
Ищем файл .htaccess
Чтобы отредактировать файл, скачайте его на жесткий диск компьютера. Для этого выделите файл и в контекстном меню выберите соответствующую опцию. Чтобы загрузить отредактированный файл на сервер, выделите его в списке файлов и папок на жестком диске, откройте контекстное меню и выберите нужную опцию.
Отредактированный файл нужно загрузит на сервер
В интерфейсе FTP-клиента FileZilla слева доступны файлы и папки локального компьютера, а справа — файлы и папки удаленного сервера.
Справа сервер, слева локальный компьютер
Также доступ к файлу .htaccess можно получить через панель управления хостингом. В cPanel откройте раздел интерфейса «Файлы – Диспетчер файлов».
Открываем диспетчер файлов панели управления хостингом cPanel
В настройках диспетчера включите отображение скрытых файлов.
Включаем отображение скрытых файлов
Скачайте файл на компьютер и отредактируйте. Также файл можно редактировать через cPanel.
Загружаем файл на жесткий диск или редактируем непосредственно через панель управления сервером
Чтобы отредактировать файл .htaccess, откройте его в блокноте. Добавьте код редиректа. Сохраните изменения и загрузите файл на сервер.
Добавляем в файл .htaccess код редиректа с http на https
О коде редиректов и настройках конкретных перенаправлений пойдет речь ниже.
Чтобы настроить редирект на сервере под управлением Nginx, нужно добавить код перенаправления в конфигурационный файл nginx.conf. Код добавляется в блоке server. Получить код редиректа можно с помощью конвертера.
PHP-редиректы
PHP-редирект работает на уровне сервера. Этот способ перенаправления считается менее предпочтительным по сравнению с редиректом через файл .htaccess, так как он работает медленнее. Но в некоторых случаях предпочтительнее использовать этот тип редиректа.
Например, если на сайте есть десятки страниц, для которых нужно прописать редирект, а также десятки страниц, для которых редирект не нужен, лучше настраивать перенаправления с помощью PHP.
Скачайте на жесткий диск файл index.php или откройте его для редактирования в диспетчере файлов панели управления хостингом. Файл находится в корневой папке сайта. Там же находится файл .htaccess.
Находим файл index.php и загружаем его на жесткий диск
Добавьте в файл index.php код редиректа. Сохраните изменения и загрузите файл на сервер.
Добавляем код перенаправления в файл index.php
JavaScript-редирект
Редирект с помощью кода JavaScript выполняется на стороне браузера, а не на стороне сервера. Чтобы посетитель попал со старой страницы на новую, скрипт редиректа должен полностью загрузиться в обозревателе. Поэтому JavaScript-редирект – более медленный способ перенаправления, чем серверные редиректы. Еще одна проблема — автоматическое перенаправление не сработает, если пользователь отключил в браузере JavaScript.
Тем не менее JavaScript-редиректы в некоторых случаях удобны. Например, их можно использовать для перенаправления с задержкой. Вы можете написать на старой странице сообщение вроде «Мы переехали на новый сайт, сейчас вы будете автоматически туда перенаправлены». Через несколько секунд пользователь автоматически попадет на новую страницу.
Чтобы реализовать перенаправление с помощью JavaScript, добавьте код редиректа между тегами <head> и </head> страницы, с которой нужно перенаправить пользователей. На сайтах под управлением WordPress это можно сделать с помощью бесплатного плагина Per page add to head.
Настраиваем редирект на главную с задержкой 1,5 секунды
Сохраните изменения на странице и проверьте, как работает редирект.
Браузер перенаправляет пользователя с внутренней на главную страницу с задержкой 1,5 секунды
HTML-редирект
Этот тип перенаправления также работает на стороне браузера. Чтобы перенаправление сработало, обозреватель должен загрузить соответствующий HTML-код: метатег refresh. Поэтому этот тип редиректов работает медленнее перенаправлений на уровне сервера.
Чтобы реализовать редирект, добавьте код между тегами <head> и </head> страницы, с которой хотите перенаправить трафик.
Добавляем код редиректа в хедер страницы
Сохраните изменения и проверьте, как работает перенаправление.
Промежуточный итог: предпочитайте серверные редиректы, так как они удобнее для пользователей. В большинстве случаев перенаправление лучше настраивать через конфигурационный файл .htaccess для серверов на Apache и nginx.config для серверов на Nginx.
Техзадание на разработку сайта: запрещенные слова и выражения
Где взять код редиректа
Если у вас нет соответствующей подготовки и знаний, есть два варианта. Можно обратиться к специалисту или воспользоваться онлайн-генератором кода. Подборка сервисов ниже сэкономит вам время и деньги:
- 301 Redirect Code Generator. Генерирует код редиректа для Apache, ASP и ASP.NET. Также создает код JavaScript и HTML-перенаправлений.
- Seomagnifier. Создает код редиректа 301 с домена с www на домен без www и наоборот.
- 301 Redirect Code Generator Tool. Создает редиректы со страницы на страницу, а также с домена без www на домен с www. Генерирует PHP-код, перенаправления для серверов на ASP и ASP.NET, HTML- и JavaScript-перенаправления.
- Генератор файла .htaccess. Создает код редиректов со страницы на страницу, а также между разделами сайта, генерирует скрипты перенаправлений с домена с www на домен без www.
- Универсальный генератор кода перенаправлений для .htaccess. Можно выбрать сценарий редиректа, указать URL и сгенерировать код.
- Генератор редиректов 301. Создает код перенаправлений для серверов на Apache, ASP, ASP.NET, а также код HTML- и JavaScript-редиректов.
- Генератор перенаправлений от Brontobytes. Поможет настроить редирект со старого домена на новый, изменить адрес отдельных страниц и разделов ресурса, настроить перенаправление с домена без www на домен с www.
- Пользователям серверов на Nginx будет полезен конвертер кода. Он трансформирует редиректы для .htaccess в перенаправления для nginx.config.
По данным британской компании Netcraft на ноябрь 2017 года, 44 % активных сайтов работают на серверах под управлением Apache. 21 % ресурсов работает на серверах под управлением Nginx. Доля серверов с другим ПО не превышает 8 %.
Как делать редиректы: популярные примеры
В этом блоке представлены наиболее популярные редиректы. Инструкции помогут вам настроить перенаправления без обращения к техническим специалистам.
Как сделать редирект с http на https
Часто владельцы сайтов сталкиваются с необходимостью сделать серверный редирект при переводе сайта на безопасный протокол соединения. Чтобы реализовать перенаправление, выполните следующие действия:
- Скачайте конфигурационный файл на жесткий диск или откройте его для редактирования в панели управления хостингом.
- Сгенерируйте код редиректа с помощью одного из предложенных выше сервисов.
- Добавьте код в файл, сохраните изменения и загрузите .htaccess на сервер.
Добавляем код редиректа с http на https в файл .htaccess
Корректно перевести сайт на безопасный протокол помогут следующие ресурсы:
- Рассказ нашего маркетолога Тимура Фехрайдинова об опыте и особенностях перевода на безопасный протокол сайта «Текстерры».
- Техническая инструкция по переводу на https сайта на WordPress, включая тактику работы с Google Search Console и «Яндекс. Вебмастер».
- Плагин для WP Really Simple SSL. За минуту решает все технические задачи, связанные с установкой SSL-сертификата и переводом сайта на безопасный протокол.
Я работаю с такими настройками Really Simple SSL
Как сделать редирект с или на www
Подробную инструкцию по перенаправлению с домена без www на домен без www через файл .htaccess читайте в статье о зеркалах сайтов. Если хотите, выполните этот же редирект с помощью php. Действуйте так:
- Загрузите на жесткий диск файл index.php.
- Сгенерируйте код редиректа.
- Вставьте код в файл, сохраните изменения и загрузите index.php на сервер.
- Укажите основной URL в настройках сайта. В WordPress это можно сделать в меню «Настройки – Общие».
Добавляем код редиректа в файл index.php
В сгенерированном коде может быть упоминание сайта генератора. Оно не влияет на работу перенаправлений, поэтому его можно удалять.
Проверьте, как работает перенаправление. На иллюстрации ниже видно, что до настройки редиректа сайт был доступен по двум URL. После изменения файла index.php ресурс доступен по одному адресу.
После настройки php-редиректа сайт доступен только по URL без www
Как настроить перенаправление с одной страницы
Чтобы настроить редирект с одной страницы на другую, отредактируйте файл .htaccess или index.php: добавьте в него сгенерированный код редиректа. Если сайт работает на WordPress, воспользуйтесь для настройки редиректов плагинами:
- Simple 301 Redirects. О настройках читайте в статье про зеркало сайтов.
- Redirection. Инструкция по настройке смотрите в нашей статье «Лайфхаки для пользователей WordPress».
- Redirect. Добавляет блок настройки редиректов на страницу редактирования публикаций.
Работа с блоком настройки редиректов на странице редактирования публикаций
Перенаправления можно настраивать через панель управления сервером. В cPanel настройки доступны в разделе «Домены – Перенаправления». Инструкцию смотрите в статье о зеркалах сайтов.
Как настроить редирект при смене домена
При переезде на новый домен перенаправление настраивается так же, как редиректы с http на https или с домена с www на домен без www. Изменения можно внести через файл .htaccess или index.php.
Сгенерируйте код постраничного редиректа. Для этого укажите URL старого и нового домена и отметьте флажками опции, указанные на иллюстрации.
Генерируем код постраничного редиректа
Добавьте код в файл .htaccess и сохраните изменения.
После загрузки файла на сервер заработает переадресация
Как сделать редирект папки
Редирект папки (каталога, директории) можно настроить с помощью файлов .htaccess или index.php. Настройка перенаправлений может понадобиться, если в URL страниц отображаются названия директорий. /klassica/(.*)$ /russkaya-klassica/$1
Частные случаи: редирект слэша и редирект расширения
Одни владельцы сайтов предпочитают URL со слэшем в конце, а другие без слэша: https://exampleblog.ru/page/ и https://exampleblog.ru/page соответственно. Поисковые системы считают варианты со слэшем и без него разными URL. Поэтому важно выбрать предпочтительную структуру сетевых адресов и настроить перенаправления.
Сгенерируйте код редиректа и добавьте его в файл .htaccess. Убедитесь, что отметили галочкой нужную опцию.
Получаем код редиректа на страницу со слэшем
Чтобы настроить перенаправления с адреса с расширением на адрес без расширения, сгенерируйте код и добавьте его в конфигурационный файл. Редирект с URL с расширением .html на URL с расширением .php выглядит так:
RewriteEngine on
RewriteRule index\.html index.php [NC,R]
С помощью генератора можно получить код для других перенаправлений, например, для редиректов с поддомена на каталог или с верхнего регистра на нижний.
Как проверить редирект
Проверить редирект можно в браузере. Почистите кэш или откройте обозреватель в режиме инкогнито и введите нужный URL. Также проверять перенаправления можно с помощью веб-сервисов:
- Чекер PrCy.
- Redirect Checker.
- Redirect Check.
Чекеры показывают вид редиректа и статус ответа сервера при переходе на новый адрес.
Проверяем статус редиректа
Сделать редирект просто
Для этого в первую очередь выберите вид редиректа. В большинстве случаев подходит перенаправление 301 или постоянный редирект. Иногда для временного перенаправления стоит использовать редирект 303 и 307.
Затем выберите тип редиректа. Быстрее всего работают серверные редиректы, которые настраиваются с помощью конфигурационных файлов .htaccess для серверов Apache и nginx.config для серверов Nginx. Также можно настроить PHP-редирект с помощью файла index. php. JavaScript- и HTML-редиректы работают медленнее, поэтому используйте их в исключительных случаях.
Сгенерируйте код редиректа с помощью одного из предложенных в статье сервисов и добавьте его в конфигурационный файл или в файл index.php. Проверьте корректность редиректа вручную или с помощью веб-сервиса.
Перенаправления в HTTP — HTTP
Перенаправление URL-адресов , также известное как переадресация URL-адресов , — это метод предоставления более одного URL-адреса странице, форме или всему веб-сайту/приложению. HTTP имеет специальный тип ответа, называемый перенаправлением HTTP для этой операции.
Перенаправления служат множеству целей:
- Временные перенаправления во время обслуживания или простоя сайта
- Постоянные перенаправления для сохранения существующих ссылок/закладок после изменения URL-адресов сайта, страниц прогресса при загрузке файла и т. д.
В HTTP перенаправление запускается сервером, отправляющим специальный ответ redirect на запрос. Ответы на перенаправление имеют коды состояния, начинающиеся с 3
, и заголовок Location
, содержащий URL-адрес для перенаправления.
Когда браузеры получают перенаправление, они немедленно загружают новый URL-адрес, указанный в заголовке Location
. Помимо небольшого снижения производительности из-за дополнительного кругового обхода, пользователи редко замечают перенаправление.
Существует несколько типов перенаправлений, разделенных на три категории:
- Постоянные перенаправления
- Временные перенаправления
- Специальные перенаправления
Постоянные перенаправления
Эти перенаправления должны действовать вечно. Они подразумевают, что исходный URL-адрес больше не должен использоваться и заменен новым. Роботы поисковых систем, средства чтения RSS и другие поисковые роботы обновят исходный URL-адрес ресурса.
Код | Текст | Обработка метода | Типовой вариант использования |
---|---|---|---|
301 | Перемещено навсегда | Методы GET без изменений. Другие могут быть изменены или не изменены на GET . [1] | Реорганизация веб-сайта. |
308 | Постоянное перенаправление | Метод и тело не изменены. | Реорганизация веб-сайта со ссылками/операциями, отличными от GET. |
[1] Спецификация не предполагала изменения метода, но существуют существующие пользовательские агенты, которые меняют свой метод. 308
был создан для устранения неоднозначности поведения при использовании методов, отличных от GET
.
Временные перенаправления
Иногда запрошенный ресурс недоступен из его канонического расположения, но доступен из другого места. В этом случае можно использовать временную переадресацию.
Роботы поисковых систем и другие сканеры не запоминают новый временный URL. Временные перенаправления также используются при создании, обновлении или удалении ресурсов для отображения временных страниц прогресса.
Код | Текст | Обработка метода | Типовой вариант использования |
---|---|---|---|
302 | Найдено | Методы GET без изменений. Другие могут или не могут быть изменены на ПОЛУЧИТЬ . [2] | Веб-страница временно недоступна по непредвиденным причинам. |
303 | См. Другое | Методы GET без изменений. Другие изменили на GET (тело потеряно). | Используется для перенаправления после PUT или POST , чтобы обновление страницы результатов не запускало операцию повторно. |
307 | Временное перенаправление | Метод и тело не изменены | Веб-страница временно недоступна по непредвиденным причинам. Лучше, чем 302 , когда на сайте доступны операции, отличные от GET . |
[2] Спецификация не предполагала изменения метода, но существуют существующие пользовательские агенты, которые меняют свой метод. 307
был создан для устранения неоднозначности поведения при использовании не- ПОЛУЧИТЬ
метода.
Специальные перенаправления
304
(Не изменено) перенаправляет страницу на локально кэшированную копию (которая устарела), а 300
(Множественный выбор) — это ручное перенаправление: тело, представленное браузером как веб-сайт. странице перечислены возможные перенаправления, и пользователь щелкает одно из них, чтобы выбрать его.
Код | Текст | Типовой вариант использования |
---|---|---|
300 | Множественный выбор | Немного: варианты перечислены на HTML-странице в теле. Машиночитаемые варианты рекомендуется отправлять в виде заголовков Link с rel=alternate . |
304 | Без изменений | Отправлено для повторных условных запросов. Указывает, что кэшированный ответ все еще свежий и может быть использован. |
Перенаправления HTTP — не единственный способ определить перенаправления. Есть еще два:
- HTML-перенаправления с элементом
- перенаправления JavaScript через DOM
HTML-перенаправления
HTTP-перенаправления — лучший способ создания перенаправлений, но иногда у вас нет контроля над сервером. В этом случае попробуйте элемент
с атрибутом http-equiv
, установленным на 9.0023 Обновить в
страницы. При отображении страницы браузер будет переходить по указанному URL.
<голова> com/" /> голова>
Атрибут content
должен начинаться с числа, указывающего, сколько секунд браузер должен ждать перед перенаправлением на указанный URL-адрес. Всегда устанавливайте его на 0
для обеспечения доступности.
Очевидно, что этот метод работает только с HTML и не может использоваться для изображений или других типов контента.
Перенаправления JavaScript
Перенаправления в JavaScript выполняются путем установки строки URL-адреса в свойство window.location
, загружая новую страницу:
window.location = "https://example.com/";
Подобно перенаправлению HTML, это не может работать на всех ресурсах и, очевидно, будет работать только на клиентах, которые выполняют JavaScript. С другой стороны, возможностей больше: например, вы можете активировать перенаправление только при выполнении некоторых условий.
Порядок приоритета
При наличии трех способов запуска перенаправления несколько способов могут использоваться одновременно. Но что применяется первым?
- HTTP-редиректы всегда выполняются первыми — они существуют, когда нет даже переданной страницы.
- HTML-перенаправления (
- Перенаправления JavaScript выполняются последними и только в том случае, если JavaScript включен.
По возможности используйте перенаправления HTTP и не добавляйте
элемент перенаправляет. Если кто-то изменит перенаправления HTTP, но забудет изменить перенаправления HTML, перенаправления больше не будут идентичными, что может вызвать бесконечный цикл или другие кошмары.
Существует множество вариантов использования перенаправлений, но поскольку каждое перенаправление влияет на производительность, их использование должно быть сведено к минимуму.
Псевдоним домена
В идеале для каждого ресурса существует одно местоположение и, следовательно, один URL-адрес. Но есть причины для альтернативных названий ресурса:
- Расширение охвата вашего сайта
Обычный случай, когда сайт находится по адресу
www. example.com
, но доступ к нему с адресаexample.com
также должен работать. Таким образом, настроены перенаправления дляexample.com
наwww.example.com
. Вы также можете перенаправить с общих синонимов или частых опечаток в ваших доменах.- Переезд на новый домен
Например, ваша компания была переименована, но вы хотите, чтобы существующие ссылки или закладки по-прежнему находили вас под новым именем.
- Принудительное использование HTTPS
Запросы к версии
http://
вашего сайта будут перенаправлены на версиюhttps://
вашего сайта.
Сохранение ссылок
При реструктуризации веб-сайтов URL-адреса меняются. Даже если вы обновите ссылки своего сайта, чтобы они соответствовали новым URL-адресам, вы не можете контролировать URL-адреса, используемые внешними ресурсами.
Вы не хотите нарушать эти ссылки, так как они приносят ценных пользователей и помогают вашему SEO, поэтому вы настраиваете перенаправления со старых URL-адресов на новые.
Примечание: Этот метод работает для внутренних ссылок, но старайтесь избегать внутренних перенаправлений. Перенаправление имеет значительные потери производительности (поскольку возникает дополнительный HTTP-запрос). Если вы можете избежать этого, исправив внутренние ссылки, вам следует исправить эти ссылки.
Временные ответы на небезопасные запросы
Небезопасные запросы изменяют состояние сервера, и пользователь не должен повторно отправлять их непреднамеренно.
Как правило, вы не хотите, чтобы ваши пользователи повторно отправляли PUT
, POST
или DELETE
запросов. Если вы отправляете ответ в результате этого запроса, простое нажатие кнопки перезагрузки приведет к повторной отправке запроса (возможно, после подтверждающего сообщения).
В этом случае сервер может отправить ответ 303
(см. Другое) для URL-адреса, который будет содержать правильную информацию. Если нажата кнопка перезагрузки, повторно отображается только эта страница, без повторного воспроизведения небезопасных запросов.
Временные ответы на длинные запросы
Некоторым запросам может потребоваться больше времени на сервере, например УДАЛИТЬ
запросы, которые запланированы для последующей обработки. В этом случае ответ представляет собой перенаправление 303
(см. Другое), которое ссылается на страницу, указывающую, что действие было запланировано, и в конечном итоге информирует о его ходе или позволяет отменить его.
Apache
Перенаправления можно настроить либо в файле конфигурации сервера, либо в .htaccess
каждого каталога.
Модуль mod_alias
имеет директивы Redirect
и RedirectMatch
, которые по умолчанию настраивают перенаправления 302
:
Имя сервера example.com Перенаправление / https://www.example.com виртуальный хост>
URL-адрес https://example.com/
будет перенаправлен на https://www.example. com/
, как и любые файлы или каталоги под ним ( https://example.com/some -страница
будет перенаправлена на 9/images/(.*)$ https://images.example.com/$1
Все документы в каталоге images/
будут перенаправлены на другой домен.
Если вам не нужна временная переадресация, можно использовать дополнительный параметр (используемый код состояния HTTP или постоянное ключевое слово ) для настройки другой переадресации:
Постоянная переадресация / https://www .example.com # … действует так же, как: Перенаправление 301 / https://www.example.com
Модуль mod_rewrite
также может создавать перенаправления. Он более гибкий, но немного более сложный. 9/images/(.*)$ https://images.example.com/$1 постоянный;
IIS
В IIS для настройки перенаправления используется элемент
.
Циклы перенаправления возникают, когда дополнительные перенаправления следуют за уже выполненным. Другими словами, существует цикл, который никогда не завершится и ни одна страница не будет найдена.
В большинстве случаев это проблема сервера, и если сервер может ее обнаружить, он отправит обратно 500
Внутренняя ошибка сервера
. Если вы столкнулись с такой ошибкой вскоре после изменения конфигурации сервера, скорее всего, это петля перенаправления.
Иногда сервер не определяет это: петля перенаправления может распространяться на несколько серверов, каждый из которых не имеет полной картины. В этом случае браузеры обнаружат его и отобразят сообщение об ошибке. Firefox отображает:
Firefox обнаружил, что сервер перенаправляет запрос на этот адрес способом, который никогда не завершится.
… пока Chrome отображает:
Эта веб-страница имеет цикл перенаправления
В обоих случаях пользователь мало что может сделать (если только на его стороне не происходит искажения, например несоответствие кеша или файлов cookie).
Важно избегать циклов перенаправления, так как они полностью нарушают работу пользователя.
Последнее изменение: , участниками MDN
Как настроить HTML-перенаправление на вашем веб-сайте
Если вы часто обновляете свой бизнес-сайт, вы, вероятно, знакомы с перенаправлением. Перенаправление, по сути, сообщает браузеру пользователя: «Эй, контент, который вы ищете, находится не по этому URL. Но не волнуйтесь, мы отправим вас в нужное место».
Хотя по возможности лучше избегать перенаправления, большинству владельцев сайтов обычно приходится это делать в какой-то момент, будь то перемещение страницы, изменение структуры веб-сайта, перемещение доменов или обновление URL-адресов с HTTP на HTTPs. Правильное перенаправление гарантирует, что и посетители, и поисковые системы не попадут на тупиковые страницы 404, которые могут одним ударом повредить вашему пользовательскому опыту и SEO-рейтингу.
Каковы бы ни были ваши причины для перенаправления, есть несколько способов сделать это. В этом посте вы узнаете об одном распространенном методе — перенаправлении HTML. Мы обсудим, что такое редирект HTML и как добавить его на свой сайт, даже если у вас нет глубоких знаний HTML. Мы также рассмотрим некоторые альтернативные методы для лучшей доступности. Давайте начнем.
Что такое перенаправление HTML?
Перенаправление HTML (также иногда называемое метаобновлением или метаперенаправлением) — это способ перенаправления одной страницы HTML на другую в исходном коде HTML. Перенаправление HTML включает инструкции в раздел документа, который указывает веб-браузеру автоматически обновлять другую страницу с дополнительной задержкой перед обновлением.
HTML-перенаправления — самый простой способ перенаправления URL-адреса. Они включают лишь небольшую модификацию исходного кода старой HTML-страницы и могут быть выполнены легко и быстро. Перенаправление HTML направит как пользователей, так и поисковые системы на страницу, которую вы хотите, чтобы они увидели.
Кроме того, перенаправление HTML позволяет установить время задержки (в секундах) перед тем, как пользователь или робот поисковой системы перейдет на новую страницу. Эта задержка удобна, если вы хотите отобразить короткое сообщение до того, как произойдет перенаправление.
Как перенаправить на другую страницу в HTML
Чтобы перенаправить одну HTML-страницу на другую, необходимо добавить тег в раздел старой HTML-страницы. Раздел документа HTML содержит метаданные, полезные для браузера, но невидимые для пользователей, просматривающих страницу.
Синтаксис этого тега следующий:
В перенаправлении HTML тег содержит два атрибута: http-equiv и content . Значение http-equiv всегда равно Refresh — это сообщает браузеру, что вы хотите автоматически обновить страницу.
Затем атрибут content принимает два значения:
- delay_time — числовое значение, которое устанавливает задержку перед загрузкой браузером новой веб-страницы. Например, значение 3 заставит браузер ждать три секунды на старой странице перед перенаправлением.
- new_website_url — это URL-адрес веб-страницы, на которую вы хотите перенаправить.
Обязательно поместите эти два значения для содержимого в одну пару двойных кавычек, разделенных точкой с запятой. В противном случае редирект не будет работать.
Если вы хотите мгновенно направлять пользователей на новые веб-страницы, просто установите время задержки на 0 . Однако могут быть случаи, когда вы хотите установить задержку перед перенаправлением. Наиболее распространенная причина — сообщить пользователям, что текущая страница больше не существует и что они скоро будут перенаправлены. Это сообщение обычно содержит ссылку для отправки пользователей на новую страницу, если они не будут перенаправлены в течение установленного периода времени.
Если посетитель использует более старый веб-браузер, также возможно, что тег не будет правильно прочитан и перенаправление не произойдет. В этом случае установка задержки позволяет пользователю щелкнуть гиперссылку на старой странице и перейти на новую страницу.
В этом видеоролике все эти шаги объясняются более подробно.
Пример HTML-кода перенаправления
Теперь давайте рассмотрим пример кода для перенаправления HTML, чтобы лучше понять, как они работают.
Вот код HTML-страницы, которая перенаправляет пользователей на hubspot.com с задержкой в три секунды. Обратите внимание, что тег размещается внутри документа.
Старая страница
Эта страница была перемещена. Если вы не будете перенаправлены в течение 3 секунд, нажмите здесь, чтобы перейти на главную страницу HubSpot.
< /html>
Этот код является хорошим примером того, как написать перенаправление HTML по нескольким причинам. Во-первых, задержка достаточно короткая, чтобы не сильно мешать работе пользователя, при этом предоставляя большинству пользователей достаточно времени, чтобы прочитать сообщение на экране.
Во-вторых, сообщение дает пользователям возможность немедленно перейти на новую страницу. Это также дает пользователям выход, если обновление HTML не работает из-за несовместимости браузера — эти посетители могут просто щелкнуть якорную ссылку, чтобы перейти на новую страницу.
Проблемы перенаправления HTML и альтернативы
Хотя перенаправления HTML являются самым простым способом реализации перенаправления, они также создают проблемы с доступностью. Некоторые старые браузеры не отображают тег должным образом, что приводит к тому, что старая страница мигает на экране перед загрузкой новой страницы (даже если вы установили задержку более 0), или страница вообще не обновляется.
Если вы предвидите, что это будет проблемой для многих пользователей, вы можете установить время задержки на 0 и, если браузер не загружает новую страницу автоматически, включить якорную ссылку на новую страницу в раздел, как показано в примере выше.
Чтобы избежать этих проблем, рассмотрите возможность использования другого метода перенаправления на своем веб-сайте. Наиболее распространенным методом перенаправления на сегодняшний день является перенаправление HTTP. Перенаправления HTTP настраиваются на сервере, на котором размещен веб-сайт, и могут быть перенаправлением 301 (постоянное) или перенаправлением 302 (временное).
См. наше руководство по настройке переадресации 301 для получения дополнительной помощи здесь — ваш процесс будет зависеть от того, какие конкретные технологии вы используете для работы своего веб-сайта. Например, если вы запускаете веб-сайт WordPress, лучше всего использовать плагин перенаправления WordPress, который позаботится о внутренних вещах для вас и позволит вам управлять и отслеживать все перенаправления на вашем сайте с вашей панели.
Перенаправления JavaScript — еще одна распространенная альтернатива, хотя для этого требуются некоторые знания программирования JavaScript и, вероятно, больше проб и ошибок, чтобы получить правильный результат.