Что такое переадресация сайта
Переадресация веб страниц
Введение
Переадресация – когда веб-страница побывала на определенном URL, а потом меняет его на другой URL. Если пользователь посетил «website.com/page-a» и произошло перенаправлен ие на «website.com/page-b». Переадресация пригодится Вам, если Вы хотите перенаправить страницу на новое место, изменить URL-структуру сайта, удалить «WWW» из URL или даже полностью перенаправить страницу на другой сайт.
К примеру, Вы только что перешли на новый сайт и хотите закрыть старый. Но Вам не нужно, чтобы страницы старого сайта имели статус 404 Not Found. Старые ссылки должны перенаправлять пользователя на Ваш новый сайт.
Пример: мы хотим old-website.com/blog/post перенаправить на new-website.com/blog/post, а также мы хотим перенаправить все другие страницы, использующие данный URL. Также необходимо, чтобы поисковые системы понимали, что эти изменения постоянны и обновлялись соответственно. Как же это сделать? Для начала нужно узнать немного про HTTP.
Коды ответов HTTP
Каждый раз, когда Вы заходите на URL или отправляете запрос из браузера, используется п ротокол передачи гипертекста (HTTP). Это процесс, посредством которого мы запрашиваем данные, как CSS, HTML и изображения, хранящиеся на сервере. После того, как послан запрос, эти данные отвечают кодом HTTP 200 OK, означающий, что они доступны. Есть много различных видов кода ответа, самый известный – 404 Not Found; веб-страницы, а также любой другой запрашиваемый контент, например, изображения могут отвечают статусом 404.
Каждый HTTP ответ имеет определенный трехзначный номер, 404 Not Found – статусный код 4XX, указывающий ошибку клиента; 200 относится к категории 2XX и показывает, что сообщение успешно. Нас интересуют ответы HTTP-категории 3ХХ, как 301 Moved Permanently или 302 Found. Эти коды статуса специально отведены для переадресации.
В нашем случае используется перенаправление 301, потому что определенные веб-браузеры или прокси-серверы кэшируют этот тип перенаправлений и делают старую страницу недоступной.
HTML перенаправления
Один из самых простых способов перенаправления – мета-тег refresh. Можно разместить этот мета-тег внутри тега
в верхней части страницы HTML:
Атрибут content – атрибут задержки перед перенаправлением браузера на новую страницу, он установлен на 0 секунд. Не нужно устанавливать код состояния HTTP, но важно перепроверить написание кавычек выше (есть вложенные кавычки, поэтому лучше использовать разные типы кавычек).
Тема связана со специальностями:
Хотя этот метод самый простой для перенаправления веб-страницы, у него есть недостатки. В соответствии с W3C некоторые браузеры не воспринимают мета-тег refresh. Пользователи могут увидеть страницу А, которая загрузится раньше, чем Вы будете перенаправлены на страницу В. Также она отключает кнопку назад на старых браузерах. Поэтому этот метод не рекомендуется использовать вообще.
Лучший вариант – перенаправление сайта с JavaScript.
Перенаправления JavaScript
Перенаправить на другой URL с JavaScript довольно легко, просто требуется изменить location window- объекта :
window.location = “http: //new-website.com”;
В JavaScript есть много возможностей для этого:
window.location = “http: //new-website.com”;
window.location.href = “http: //new-website.com”;
Также можно просто использовать location с нужным объектом окна. И self или top.
С location объекта можно также перезагрузить страницу или изменить путь и начало URL.
Требуется решение на сервере, чтобы помочь нам, отправив ответ 301 в поисковые системы и браузеры.
Перенаправления Apache
Возможно, самый удобный способ перенаправления – добавление определенных правил в файл `.htaccess` на веб-сервере Apache.
Redirect 301 / http: //www.new-website.com
Любая страница, открытая на старом сайте, перенаправляется на новую. Как Вы видите, мы ставим код ответа прямо перед правилом переадресации.
Этот вид переадресации работает только на серверах Linux с включенным mod_rewrite, модулем Apache, позволяющим нам перенаправить запрашиваемые URL-адреса на сервере, если определенный образец найден, он будет изменять запрос некоторым способом. Большинство хостинг-компаний поддерживают это по умолчанию.
Вернемся к нашему примеру, если использовать код, приведенный выше, то пользователь перейдет к «old-website.com/blog/post» и будет перенаправлен по адресу «new-website.com». Неудобно то, что пользователи не видят реальную запрашиваемую страницу. Поэтому добавим следующее правило для нашего `.htaccess` файла, чтобы перенаправить все сообщения блога на нужную страницу:
Если необходимо перенаправить отдельные страницы по определенному адресу, можно добавить правила, например, так:
Видео курсы по схожей тематике:
UX/UI Design Стартовый
UX/UI Design мобильных приложений
Создаем игру типа “Pokémon Go“
По ошибке пользователи могут быть перенаправлены на страницу 404:
Сначала нужно проверить, доступен ли модуль mod_rewrite и включить его. В случае, когда файл или каталог не найден, пользователь попадет на нашу страницу 404. Он увидит содержимое страницы 404.html файла в то время, как запрашиваемый URL останется тем же.
LightTPD перенаправления
В PHP можно использовать функцию header:
header(‘Location: http: //new-website.com’);
Это должно быть установлено перед любой разметкой и контентом другого рода, однако есть одна небольшая сложность. Функция по умолчанию отправляет ответ 302, сообщая о том, что контент был временно перемещен. В нашем случае нужно постоянно перемещать файлы на новый сайт, так что стоит заменить перенаправление 302 на 301:
header(‘Location: http: //www.new-website.com/’, true, 301);
Параметр true заменит ранее установленный header и 301 изменяет код ответа на правильный.
Ruby on Rails переадресации
Из любого контроллера Rails проекта мы можем быстро перенаправить на новый сайт с redirect_to. Параметру :status нужно установить значение : moved_permanently. Так переопределяется код статуса по умолчанию 302 и изменяется на Moved Permanently:
redirect_to ‘http: //new-website.com’, :status => :moved_permanently
В Rails 4 можно добавить redirect в routes.rb файл, автоматически отправляющий ответ 301:
get “/blog” => redirect(“http: //new-website.com”)
Если нужно перенаправить все статьи на новый сайт, можно сделать так:
get “/blog/:post” => redirect(“http: //new-website.com/blog/%
Node.js перенаправления
var http = require(“http”);
http.createServer( function (req, res) <
Если Вы делаете новый файл и называете его index.js, вставьте код, приведенный выше, и запустите node index.js, в командной строке вы найдете локальную версию сайта, перенаправленную на new-website.com. Но, чтобы перенаправить все сообщения в разделе /blog, нужно разобрать URL из запроса с удобным Node URL модулем:
Бесплатные вебинары по схожей тематике:
Создание дизайна лендинга с Figma
Agile трансформация в большой компании
var http = require(“http”);
var url = require(“url”);
http.createServer( function (req, res) <
var pathname = url.parse(req.url).pathname;
Flask перенаправления
С Flask framework поверх Python мы можем создать маршрут, указывающий на подстраницы с функцией redirect, но в конце должна быть опция 301, так как по умолчанию установлена 302:
Что такое редирект
В этой статье мы подробно разберём тему редиректов. Расскажем, что такое редирект сайта, в каких случаях его нужно настраивать и какими способами это можно сделать.
Что такое редирект
Редирект (от англ. redirect — перенаправление) — это автоматическая переадресация посетителя с одного URL-адреса на другой. То есть при переходе на страницу, для которой настроен редирект, пользователь будет автоматически попадать на другую страницу. Как правило, для посетителей сайта этот переход остаётся незаметным.
Схема работы редиректа на уровне браузера
Представим, что вы настроили редирект со страницы мой-сайт.ру на тест-сайт.ру. В этом случае при каждом переходе на страницу мой-сайт.ру на техническом уровне будет происходить следующее:
Редирект можно настроить как с одной страницы на другую в рамках одного сайта, так и со страницы одного сайта на страницу другого сайта. Разберём, зачем и в каких случаях нужно настраивать редирект.
Зачем нужен редирект
В первую очередь редирект влияет на SEO-показатели сайта. Его настраивают для того, чтобы не потерять позиции в поисковой выдаче. Дело в том, что поисковые роботы регулярно обходят и индексируют все страницы сайта. После каждой такой индексации отдельная страница и сайт в целом могут изменить место в поисковой выдаче — подняться на более высокую позицию или, наоборот, опуститься на более низкую.
Если роботы заметят, что одна из страниц удалена или на ней есть ошибка, они перестанут её индексировать. Это значит, что трафик страницы будет потерян. Вместе с ним будут снижаться позиции в поисковой выдаче.
Также если не настроить редирект для удалённой или перенесенной страницы, пользователи могут подумать, что искомый адрес больше недоступен и перестанут посещать страницу. Это приведёт к потере клиентов.
Самые распространенные случаи, в которых нужен редирект:
В зависимости от конкретной ситуации для настройки используют тот или иной вид редиректа. Рассмотрим, какие виды редиректов бывают.
Виды редиректов
Перед тем как приступить к настройке, определитесь, какой вид редиректа нужен в вашем случае. Ниже мы описали все основные виды редиректов.
300 Multiple Choice (множественный выбор) — это редирект, который сообщает, что по искомому запросу можно перейти не на одну, а на несколько страниц. С его помощью можно настроить перенаправление с основного URL на несколько других страниц, которые похожи по тематике, но отличаются по содержанию. Нередко редирект такого типа встречается на страницах «Википедии». Если какое-то слово или термин имеет несколько значений, вместо одной страницы с определением Википедия выдает страницу со ссылками на объяснение каждого варианта. В зависимости от искомого значения пользователь переходит по нужной ссылке.
301 Moved Permanently (навсегда перемещен) — это постоянный редирект. Используйте этот вид редиректа, если хотите переместить страницу на новый адрес насовсем. В этом случае вы сообщите поисковым системам, что стоит обратить внимание на новую страницу, а исходную можно полностью исключить из индексации. Если настроить редирект 301 некорректно, на странице будет отображаться ошибка 404. Индексация страниц с ошибками приводит к снижению SEO-показателей всего сайта.
302 Moved Temporarily (временно перемещен) — это временный редирект. Редирект 302 настраивают в том случае, когда на основной странице временно ведутся те или иные работы. Все файлы копируют и размещают по другому адресу на определенный период. При переходе на страницу с таким редиректом поисковые роботы сразу поймут, что она перенаправлена на другой ресурс только временно. Поэтому при следующем переобходе они вновь попробуют проиндексировать исходную страницу. И так пока контент не «вернётся» на исходную страницу.
303 See Other (просмотр другого) — это редирект на схожую по тематике страницу. С помощью 303-го можно перенаправить пользователя не на дубль исходной страницы на новом URL, а на совершенно другую страницу, но с похожей тематикой. Такой тип редиректа нередко используют в интернет-магазинах. Если какой-то товар временно недоступен для заказа, с его страницы настраивают редирект на страницу продукта со схожими характеристиками. Когда товар снова появляется на складе, редирект просто убирают.
305 Use Proxy (использовать прокси) — этот редирект отсылает браузер к использованию прокси-сервера. В этом случае при обращении браузера к странице в ответ приходит адрес прокси-сервера. Это значит, что к ресурсу можно подключиться только с помощью прокси — промежуточного сервера, который является посредником между пользователем и сервером, на котором хранятся файлы сайта. Прокси-подключение настраивают для защиты локальной сети от внешних подключений, экономии трафика (передачи данных в сжатом виде), кэширования данных и другого.
307 Temporary Redirect — временный редирект. Он сообщает поисковому роботу, что страница временно перенесена на другой URL и через некоторое время вновь будет доступна по старому адресу. Этот редирект похож на 302 Moved Temporarily, однако у него есть существенное отличие — 307 редирект сохраняет метод передачи запроса (GET, POST), который указывает поисковикам, что кешировать документ не нужно. Его используют для краткосрочного переезда, например небольших технических работ. Стоит отметить, что иногда проще на пару часов закрыть сайт на технические работы без редиректа.
Редирект rel=«canonical» — этот редирект предназначен только для поисковых роботов, посетитель при этом видит два дублирующихся ресурса одновременно. С его помощью владелец ресурса сообщает роботам, что у сайта есть несколько версий и они должны просканировать только приоритетную копию, которую владелец пометил как «canonical». Остальные страницы тоже доступны пользователям, но они не индексируются.
Также существуют 304-й и 306-й редиректы. Однако сейчас эти виды практически никто не использует. Некоторые браузеры даже не умеют интерпретировать код таких перенаправлений.
Самые популярные виды редиректов — 301 и 302. При этом чаще всего для переадресации url используют 301-й редирект. Для его настройки используют разные способы.
Основные способы настройки 301 редиректа
Можно выделить несколько основных способов настройки редиректов. Между собой они отличаются техническим исполнением, а также источником перенаправления.
1) PHP. PHP-редирект прописывается в индексном файле (чаще всего его название — index.php). Для настройки нужно найти файл index.php в корневой папке сайта и вписать в него строку кода. Для настройки используют функцию header:
В этом случае переадресация будет срабатывать в скрипте, который размещен на сервере. Это самый надёжный тип редиректа с высокой скоростью перенаправления. Этот тип лучше всего подойдёт, если вам нужно сделать перенаправление для всего сайта.
В этом случае переадресация будет срабатывать на уровне браузера — в коде страницы. Скорость перенаправления из браузера ниже, чем из скрипта на сервере. Поэтому этот тип больше подходит для настройки редиректа для одной или нескольких страниц.
3) HTML. Такой тип редиректа подойдёт для сайтов, которые написаны на языке HTML. Редирект настраивается в исходном коде страницы через индексный файл, который чаще всего называется index.html. Для настройки нужно добавить мета тег refresh:
Это также достаточно «медленный» тип, так как он срабатывает из браузера.
4) JavaScript. Такой тип редиректа подойдёт для сайтов, которые написаны на языке JavaScript. Он настраивается в исходном коде страницы путём изменения текста между тегами head и /head. В этом случае перенаправление также срабатывает со стороны браузера — с низкой скоростью. Как правило, JavaScript настраивают в случаях, когда хотят перенаправить на страницу не сразу, а с задержкой. Пока происходит перенаправление, на странице отображается баннер с фразой: «Вы будете автоматически переадресованы на наш новый сайт».
Если вы используете Nginx, в его конфигурационном файле можно настроить Nginx redirect 301.
Как настроить редирект
Как сделать 301 редирект и другие перенаправления? Выбор способа настройки редиректа зависит от ваших целей и опыта. Перед настройкой определите цель редиректа (перевод всего сайта на новый адрес, редирект со страницы на страницу или другое). После этого выберите, как вы будете работать — через панель управления хостингом или в коде. Также обратите внимание, на какой операционной системе работает ваш хостинг (Linux или Windows). После этого используйте подходящую для вашего случая инструкцию.
Через панель управления хостингом
Варианты настройки через панель управления хостингом ISPmanager, cPanel и Plesk подойдут вам, если вы являетесь клиентом REG.RU.
Через код сайта
Если вы хотите настроить редирект вручную через код, используйте инструкции ниже.
Итак, редирект — это простыми словами перенаправление на другую страницу. С помощью наших инструкций вы сможете настроить переадресацию для нужного сайта или страницы.
Что такое редирект и как его настроить
Владельцы интернет-ресурсов часто сталкиваются с тем, что им нужно изменить доменное имя сайта. Например, из-за ренейминга или чтобы перейти на безопасный протокол соединения. Чтобы предстоящие изменения не повлияли на ваш бизнес и пользовательский опыт клиентов, используйте редирект.
В этой статье разбираемся, в каких случаях он нужен и как его настроить.
Если вы не хотите тратить время на самостоятельную настройку редиректа — оставьте заявку, и специалисты RU-CENTER сделают это за вас.
Что такое редирект и когда он нужен
Редирект — это перенаправление пользователя с одного URL на другой. Это нужно, чтобы человек не потерял вас, если вы измените адрес сайта или страницы. Кликая на старую ссылку, пользователь незаметно для себя окажется по новому нужному адресу. Например, если вы перейдёте по ссылке http://nic.ru/, автоматически попадёте на сайт с безопасным профилем https://nic.ru/.
Неактуальный сайт или страницу программисты называют донором, а ту, на которую перенаправляют, — акцептором. В нашем случае http://nic.ru/ — сайт-донор, а https://nic.ru/ — сайт-акцептор.
В каких случаях нужен редирект
Это не все возможные поводы для редиректа. Они возникают в зависимости от того, какие проблемы нужно решить перенаправлением.
Какие бывают редиректы
Есть четыре основных вида редиректа — 301, 302, 303, 307. Поисковые системы сами определяют его по коду состояния http.
301 — постоянный редирект
Он означает, что ресурс навсегда перемещён на новый адрес. Сайт-донор пропадает из поиска, авторитет и показатели посещаемости передаются сайту-акцептору, который и будет индексироваться.
302 — временный редирект со статусом «Найдено»
Поисковые системы расценивают страницу как временно несуществующую и перенаправляют пользователя на нужную. Все настройки и показатели останутся по старому адресу, индексироваться новый сайт тоже не будет. Такое перенаправление пригодится, например, когда нужно будет обновить сайт.
303 и 307 — аналоги 302 редиректа
303 редирект обозначает «смотрите другой ресурс», его применяют, когда вы не перенесли контент на другой адрес, но у вас есть подходящий под перенаправление другой сайт или страница. Для этого редиректа браузер использует метод GET.
Статус 307 редиректа — временное перенаправление. То есть запрашиваемая страница в данный момент находится по другому адресу. В отличие от 302 изначальная версия ресурса сохранит свои позиции.
Вам не обязательно запоминать, какой редирект что обозначает. Эти цифры при настройке вам не пригодятся. Достаточно понимать, какое решение подойдёт именно в вашей ситуации — временное или постоянное — и написать код, подходящий под нужный редирект.
Как настроить редирект
Если нужно сделать перенаправление со страницы, подойдёт более простой вариант переноса — через админку сайта.
В этой статье рассмотрим эти способы на примере самых распространённых причин для редиректа.
Перенос сайта с одного домена на другой
Этот тип перенаправления можно сделать с помощью FTP-клиента. Этот вариант подойдёт тем, кто умеет работать с кодом или готов этому научиться.
Если язык программирования не для вас, перенести домен можно без знаний кода. У RU-CENTER есть специальный сервис «Перенаправление домена».
Перенос с помощью FTP-клиента
Чтобы изменить файл, нажмите на него правой кнопкой мыши и кликните «Редактировать» (в используемом вами FTP-клиенте может быть другой способ начала редактирования файла, но обычно названия пунктов меню очень похожи). Он автоматически загрузится к вам на компьютер и откроется в редакторе.
RewriteEngine On
RewriteBase /
Если такой записи нет, вставляем её сами в конец файла. Сразу после неё вставляем код с нужным условием:
RewriteCond %
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
где old-site\.ru — сайт-донор, а http://www.site.ru — сайт-акцептор.
Важно: В имени домена дефисы и точки необходимо экранировать, добавляя перед ними символ «\». Если речь идёт о домене, например, с кириллическими символами, то его нужно указывать в виде Punycode (xn--…), также включая символ «\».
Перенос с помощью сервиса «Перенаправление домена»
Если настройка через FTP-клиента кажется вам сложной, можно выбрать вариант проще — приобрести доступ к сервису «Перенаправление домена» у RU-CENTER. Чтобы в нём работать, не нужно разбираться в коде. Сможете сделать редирект для домена, всех его поддоменов, а также настроить до десяти индивидуальных правил перенаправления для конкретных поддоменов.
Организация перенаправления на безопасный протокол HTTPS
Ещё один популярный вариант редиректа — перенос сайта на безопасный протокол соединения с http на https. Мы расскажем об одном способе настройки этого вида редиректа, он подходит для хостинга RU-CENTER. Но, алгоритм обеспечения работы по HTTPS может отличаться на разных хостингах, поэтому точный способ такого перенаправления стоит уточнить у вашего хостинг-провайдера.
RewriteEngine On
RewriteBase /
Если такой записи нет, вставляем её сами в конец файла. Сразу после неё вставляем код с нужным условием:
RewriteCond %
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
где https://domain.ru — ваш сайт.
Перенос сайта с домена без префикса www на домен с www
RewriteEngine On
RewriteBase /
Если такой записи нет, вставляем её сами в конец файла. Сразу после неё вставляем код с нужным условием:
RewriteCond %
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
где site.ru — страница-донор, а http://www.site.ru — страница-акцептор.
Перенос одной страницы на другую временно или постоянно
Перенаправить отдельную страницу можно в админке сайта. Это значительно упрощает задачу тем, кому нужен именно этот тип редиректа, а разбираться в коде не хочется.
Объясняем, как это сделать, на примере сайта на WordPress.
Заходим в админку сайта, находим в списке возможностей вкладку «Инструменты», в ней выбираем «Перенаправления» и кликаем на кнопку «Добавить новое».
Путь получается следующий: админка сайта → Инструменты → Перенаправления → Добавить новое.
Чтобы добавить перенаправление, заполните поля:
Исходный URL — в нём напишите относительный путь, то есть адрес страницы без указания домена, только то, что прописано после слеша.
Параметры запроса — выберите из выпадающего списка нужное условие. В нашем случае — «Точное совпадение всех параметров в любом порядке».
Целевой URL-адрес — полный адрес, куда вы планируете перенести контент.
Когда мы сохранили перенаправление, получился такой редирект:
где /baza-znanij/slovar — страница-донор,
Не откладывайте настройку редиректа. Есть как минимум три причины, чтобы перенаправить нужные страницы сразу же, как возникла потребность: