Типовые перенаправления

Перенаправление (также используются названия редирект, переадресация, форвардинг) — это способ сделать один и тот же документ доступным с других адресов.

Вы можете настроить перенаправление с помощью файла по предложенным ниже примерам. Обратите внимание, что кириллические домены в директивах необходимо указывать в

Протокол HTTPS — это расширение протокола HTTP, поддерживающее шифрование, что
позволяет повысить безопасность пользователей и их данных на сайте. Для
повышения безопасности и доверия пользователей всем сайтам, собирающим конфиденциальные
данные следует перейти на протокол HTTPS.

301 редирект нужен при «склейке» зеркал с www и без, при переводе сайта с HTTP на HTTPS, при переезде на новый домен, в случае изменения URL страницы и переносе её в другой раздел сайта. Как правильно настроить 301 редирект? Прилагаем инструкцию с примерами и шаблонами.

301 редирект: как правильно настроить перенаправление в .htaccess

Что в статье:

  • Краткая справка: что есть 301 редирект
  • Как задать простой редирект в .htaccess: инструкция
  • Самые распространенные 301 редиректы и их реализация
  • Особенности 301 редиректа, о которых полезно знать
  • Чего НЕ нужно делать при работе с 301 редиректом

При работе с веб-ресурсами возникают ситуации, когда происходит удаление, перенос или изменение url-адреса отдельных страниц или сайта целиком. При этом требуется сохранить индексацию в поисковых системах и перенаправить пользовательский трафик на новый адрес. Для решения этой задачи используется функция под названием 301 Redirect. Это один из инструментов SEO, который позволяет не только избежать ошибок при открытии отдельных страниц, но и добиться корректной работы ресурса. Правильные настройки редиректа дают дополнительную возможность получить синергетический эффект в поисковой оптимизации и увеличить количество органического трафика на релевантные страницы. Рассмотрим более подробно, как происходит настройка редиректа 301.

В статье приведены примеры стандартных перенаправлений, которые могут быть настроены с помощью файла .htaccess вашего сайта.

Указанные перенаправления будут работать:

  • для большинства конфигураций VDS, где используется веб-сервер Apache (необходимо, чтобы модуль mod_rewrite был включен);
  • для серверов с VestaCP или ISPmanager, установленными через панель управления аккаунтом. В ISPmanager простые перенаправления могут также быть настроены

Обратите внимание, что данные редиректы не подойдут для OS Bitrix7.

Директивы необходимо указывать в .htaccess в блоке <IfModule mod_rewrite.c> со следующим содержимым:

В качестве правил указываются директивы RewriteCond и RewriteRule с необходимыми значениями — RewriteCond задает условие, при котором происходит выполнение правила, указанного в RewriteRule.

Содержание
  1. Что такое переадресация 301
  2. Альтернативные методы переадресации
  3. Простое перенаправление
  4. Перенаправление на https для одной страницы
  5. Чего НЕ нужно делать при работе с 301 редиректом
  6. Особенности 301 редиректа, о которых полезно знать
  7. Перенаправление на https для одной страницы
  8. Смена главного зеркала в Google
  9. Дополнительные преимущества перехода с http на https
  10. Перенаправление с https на http
  11. Перенаправление с несуществующего файла
  12. Как задать простой 301 редирект в. htaccess
  13. Корректность работы сайта
  14. Настройка 301 редирект в. htaccess
  15. Склейка зеркал сайта (www / без www)
  16. Редирект с http на https для всего сайта
  17. Постранично
  18. Для одной страницы
  19. Редирект сайта с https на http
  20. Изменение домена
  21. Редирект на страницу с другим url (без параметров)
  22. Редирект для url (с параметрами)
  23. Редирект с index.php на главную страницу
  24. Редирект со страниц со слешем на без слеша (для всего сайта)
  25. Редирект со страниц без слеша на слеш (для всего сайта)
  26. 301 редирект с 404 Not Found
  27. Финальный вид файла .htaccess
  28. Синтаксис для регулярных выражений в .htaccess
  29. Автоматическое создание переадресации
  30. Перенаправление на другой домен
  31. Избавляемся от дублей на сайте
  32. Перенаправление c http на https
  33. В каких случаях используется постоянный редирект 301
  34. Перенаправление в подкаталог
  35. Другие способы создания переадресации 301
  36. Через PHP
  37. ASP-редирект
  38. ASP.NET редирект
  39. ColdFusion редирект
  40. JSP (Java) редирект
  41. CGI-скрипт на PERL
  42. Ruby on Rails
  43. Редирект в Nginx
  44. HTML-редирект
  45. Перенаправление c http на https
  46. Перенаправление домена с www на домен без www
  47. Что есть 301 редирект
  48. Создание постоянной переадресации 301 через настройки и плагины CMS
  49. Перенаправление домена с www на домен без www
  50. Простое перенаправление
  51. Проверка корректности настроек 301 редиректа
  52. Перенаправление на http для одной страницы
  53. Смена ссылок на относительные
  54. Смена главного зеркала в Яндекс
  55. Видеоинструкция
  56. Перенаправление домена без www на домен с www
  57. Подготовка к переезду на HTTPS
  58. Перенаправление на http для одной страницы
  59. Перенаправление домена без www на домен с www
  60. Перенаправление в подкаталог
  61. Редирект 301 в панелях управления сервера
  62. Cpanel
  63. ISPmanager
  64. Перенаправление с использованием mod_rewrite
  65. Перенаправление на другой домен
  66. Перенаправление домена без www на домен с www
  67. Перенаправление домена с www на домен без www
  68. Перенаправление в подкаталог
  69. Перенаправление с несуществующего файла
  70. Перенаправление c http на https
  71. Перенаправление с https на http
  72. Перенаправление на http для одной страницы
  73. Перенаправление на https для одной страницы
  74. Перенаправление на другой домен
  75. Редирект с http на https
  76. Через файл .htaccess
  77. Через модули и плагины
  78. Через Хостинг-панель илиISPmanager
  79. Редирект зеркал
  80. Перенаправление с https на http
  81. Распространенные 301 редиректы и их реализация
  82. Заключение

Что такое переадресация 301

Permanent Redirect 301 применяется с целью организации постоянной переадресации с неактуального доменного адреса или url отдельной страницы на рабочую версию. Редирект может понадобиться в связи с глобальным переносом сайта на другой домен, техническими изменениями в написании адреса, удалением страниц, необходимостью внутренней и внешней перелинковки. Один из вариантов использования перманентной переадресации – редирект с нескольких доменных имен, созданных в разных зонах, на один актуальный адрес. Грамотное использование редиректа позволяет перемещать контент без потерь в поисковой индексации, сохранить и даже увеличить прежний вес и позицию в выдаче.

Настроить код состояния HTTP 301 можно разными способами:

  • с помощью HTML и PHP;

  • через панель управления или плагины соответствующей CMS;

  • при помощи специальных скриптов (программ);

  • на уровне хостинг-провайдера;

  • внесением соответствующих записей в файлы .htaccess для сервера Apache или web.config для IIS.

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

Редирект

Очень много вопросов ходит вокруг данной темы. Как сделать свой сайт безопасным? Наша веб-студия mad design собрала все возможные варианты, какими пользуемся мы:

Первое, что необходимо сделать, это получить SSL-сертификат. Вы можете приобрести его или получить бесплатно у большинства компаний, которые предоставляют услуги хостинга.

Что такое SSL-сертификат и зачем он нужен:

Secure Sockets Layer (SSL) — это протокол безопасности, который используется веб-браузерами и веб-серверами для защиты данных пользователей при их передаче в сети Интернет. Он гарантирует безопасное соединение между сервером и браузером пользователя. Сертификаты SSL представляют собой небольшие файлы данных, которые связывают ключ шифрования с данными организации (или физического лица, в случае, если сертификат SSL выпускается на данные физического лица). При просмотре сайтов в веб-браузере SSL-сертификат обеспечивает безопасное соединение между веб-сервером и браузером, о чем свидетельствует наличие значка закрытого «зеленого» замка в адресной строке и префикса «https», с которого начинается адрес страницы. В первую очередь SSL-сертификат необходим интернет-магазинам, банкам, платежным системам и другим организациям, работающим с персональными данными, для защиты транзакций и предотвращения несанкционированного доступа к информации. Кроме того, сайты с SSL-сертификатами имеют преимущество в поисковой выдаче.

И так, сертификат куплен. Теперь нам необходимо, что бы наш ресурс с http://вашдомен.ru переходил автоматически на https://вашдомен.ru. Для этого необходимо все настройки и манипуляции произвести в файле «.htaccess», который располагается в корневой папке вашего сайта.

Вот все самые простые и популярные варианты настройки редиректа для разных сценариев:

Альтернативные методы переадресации

  • Редирект 302. Применяется в случае временной переадресации с одного url на другой. При его использовании поисковая система индексирует все доступные версии сайта или страницы. Объединения ссылочного веса и внутренних метрик на приоритетном ресурсе не происходит. 
  • 307 Temporary Redirect рекомендуется применять в исключительных случаях. Например, при техническом обслуживании сайта, когда он недоступен некоторое время. 
  • Обновления Meta Refresh выполняют переадресацию не на уровне сервера, а непосредственно на сайте. Пользователь сталкивается с временной задержкой (обычно около пяти секунд), после чего для перехода на нужную страницу должен принудительно запустить определенную команду. Этот метод часто приводит к падению посетительского интереса и проседанию поисковых индексов.
  • Редирект rel=«canonical». Позволяет сохранить доступ посетителям ресурса к контенту дублирующихся страниц. При этом для поисковиков наличие команды canonical на одной из страниц говорит о том, что только она подлежит индексации в поиске.

В большинстве случаев постоянная переадресация является более правильным решением, чем временная. На практике это объясняется просто. Предположим, сайт сменил доменную зону, а затем еще и обзавелся защищенным протоколом https. При настройке временной переадресации в индексе Яндекса и Google по одним и тем же запросам появились три версии сайта с пропорциональным проседанием позиций в выдаче. После настройки редиректа 301 на приоритетный url произошло склеивание дублей, робот вернул сайт в топ выдачи. 

Читайте также:  Бесплатный хостинг для сайта | Записки Web-разработчика

Не рекомендуется использовать постоянный редирект при временном переносе сайта или наличии серьезных проблем со старым доменным именем. Если адрес забанен или попал под поисковую фильтрацию, смена дислокации с применением переадресации не поможет избавиться от этих ограничений. 

Редирект 301

Простое перенаправление

Чтобы ссылка на одну страницу перенаправляла на открытие другой, добавьте в файл .htaccess следующую строку:

В предложенном варианте:

  • Redirect 301 — инструкция, сообщающая, что страница перемещена постоянно;
  • http://example.com/index.html — адрес страницы, на которую происходит перенаправление.

При использовании 301 редиректа рейтинг сайта в поисковых системах сохраняется.

Аналогичный синтаксис простого редиректа в другом примере:

Redirect permanent / http://example.com/index.html

Перенаправление на https для одной страницы

Чего НЕ нужно делать при работе с 301 редиректом

  • Не применяйте иные статус-коды ответа сервера в случаях, где требуется 301 редирект. Совет распространяется на настройку https, настройку зеркал сайта с www и т. д.
    Самая частая ошибка, допускаемая по незнанию, — настройка временного 302 редиректа вместо постоянного 301 редиректа. В результате такой настройки роботы поисковых систем получают данные о том, что страницы перемещены на время, хотя это не так.
  • Опасайтесь запуска циклической переадресации. Из-за некорректной настройки .htaccess или неправильной работы плагина CMS может образоваться целая цепочка перенаправлений. Циклическая переадресация приводит к ошибке ERR_TOO_MANY_REDIRECTS при запросе перенесенной страницы.
  • Не перенаправляйте запросы на страницу 404. Регулярно проверяйте сайт на битые ссылки.
  • Не ставьте подряд два, три и более редиректов. Переизбыток перенаправлений увеличивает нагрузку на сервер, замедляя загрузку сайта. В результате теряется вес конечной страницы.
  • Не настраивайте переадресацию для страниц с несколькими URL, которые относятся к разным каталогам. В качестве альтернативы применяйте rel=canonical.
  • Не ставьте редиректы на похожие страницы, содержащие разную информацию. К примеру, на 2 схожих по характеристикам товара в интернет-магазине.
  • Не применяйте редиректы в работе со служебными файлами. Файл robots.txt при любых переездах оставляйте доступным, чтобы роботы Гугла и Яндекса свободно его распознавали и обрабатывали.

Обязательно перепроверяйте результаты настройки. Работа с редиректами — дело тонкое, а от опечаток и ошибок, в итоге нарушающих работоспособность сайта, не застрахован никто. И помните о том, что браузеры кэшируют редиректы, поэтому проверку проводите только после очистки кэша. Удачи в реализации!

Особенности 301 редиректа, о которых полезно знать

Методы редиректа с .htaccess срабатывают только на серверах с ОС Linux, с установленным Apache и включенным Mod-Rewrite. Кстати, .htaccess дополнительно нагружает сервер Apache, потому прописывать те же команды в hpptd.conf куда эффективнее, однако веб-мастерам редко предоставляют доступы к конфигурационным файлам.

На WordPress и некоторых схожих CMS наличествуют специальные модули, с помощью которых можно управлять редиректами. Поэтому если вы вдруг не обнаружили файл .htaccess, не торопитесь с выводами о том, что редиректов на сайте нет.

Избегайте исправления файла .htaccess напрямую через CMS сайта! В случае критической ошибки в действиях административная панель прекратит работу, а для восстановления потребуется FTP / SSH-доступ. Используйте для доступа к каталогам и файлам на сайте любой из FTP-клиентов, который вам удобен: FileZilla, WinSCP, FAR Manager, FireFTP, Total Commander, Cyberduck.

«Склейка» и передача PR занимает довольно много времени (сроки зависят от скорости обработки роботами поисковых систем), поэтому не удаляйте старую страницу/сайт, пока не убедитесь в окончательном переносе.

Перенаправление на https для одной страницы

Смена главного зеркала в Google

В случае с Google достаточно добавить новую версию ресурса в Google Search Console, все остальные
действия при помощи сигналов (редиректов) выполнит сама поисковая система.

Дополнительные преимущества перехода с http на https

Помимо того, что поисковые системы, например, Яндекс
выделяют сайты с безопасным соединением, можно получить дополнительные
преимущества от переезда.

Перехавшие на https сайты в Яндексе

Также при вводе любой информации в формы на сайте пропадет
красное уведомление браузера о том, что соединение «Не защищено».

Не защищенный http протокол в браузере Google Chrome при попытке ввести информацию

Провайдеры интернета, например, сотовые операторы не смогут
встроить собственную рекламу на сайт.

Возможность подключения к рекламным сервисам, принимающим только безопасные сайты, например, Google Merchant Center.

Перенаправление с https на http

Перенаправление с несуществующего файла

Такие перенаправления могут быть полезны, когда необходимо, чтобы тот или иной статический файл (.txt, .jpg, .pdf и многие другие расширения) обрабатывался Apache вместо Nginx.

Перенаправление на PHP-скрипт при обращении к несуществующему файлу robots.txt:

Перенаправление с несуществующего файла filename.jpg на необходимый статический файл (предварительно нужно переименовать filename.jpg — например, в filename.jpg2):

Как задать простой 301 редирект в. htaccess

.htaccess — файл, позволяющий менять глобальные настройки и конфигурации веб-сервера Apache.

Найдите файл .htaccess в корневой папке сайта

Иногда для настройки редиректов необходимо связаться с саппортом хостинга.

В скачанном с сайта файле .htaccess все редиректы прописывайте в конце, после исходного содержимого

Пишем простой пример:

Redirect 301 / http://new-site.com

  • Redirect 301 — инструкция, говорящая о том, что страница перемещена;
  • слэш / — указывает на то, что с верхнего уровня сайта (включая подкаталоги) всё будет переадресовано;
  • http://new-site.com — новая страница/сайт.

Переадресуем конкретную страницу:

Redirect 301 /old/old.htm http://new-site.com/new.html

RedirectPermanent / http://new-site.com

RedirectPermanent /old-directory http://new-site.com/new-directory/

Корректность работы сайта

После того, как сайт начал открываться по https следует
проверить все его функции и формы, а также отправку уведомлений и корректность
работы/цен/сроков и так далее. В некоторых случаях из-за смены протокола могут
быть нарушены способы отправки данных, действия функций или уведомлений.

При возникновении таких ошибок следует обратиться к
разработчику.

Настройка 301 редирект в. htaccess

Файл с расширением .htaccess – это дополнительный конфигурационный файл web-сервера Apache. Его используют для настройки веб-сервера, а также для обработки различных URL-адресов.

Для настройки 301 редиректа в файле .htaccess чаще всего применяют одну из трех директив: Redirect, RedirectMatch или RewriteRule. Директивы относятся только к папке, где размещен .htaccess, а оттуда распространяются на дочерние папки.

Найти файл можно через панель управления хостинга либо использовать FTP-клиент. При любом варианте нужно включить отображение скрытых файлов.

  • Для создания 301 редиректа перейдите в панель управления вашего сайта.

  • Проверьте наличие .htaccess файла в корневом каталоге сайта (public_html, если используете WordPress). Если файл отсутствует, создайте его.

  • Рекомендуем все условия редирект записывать в блоке IfModule, дабы избежать ошибок при выполнении файла htaccess.

<IfModule mod_rewrite.c>
</IfModule>
  • Перед тем как начать прописывать правила перенаправления, необходимо включить механизм преобразований (RewriteEngine) при помощи команды RewriteEngine On.

Разберем наиболее распространенные варианты создания 301 редиректа через .htaccess.

Склейка зеркал сайта (www / без www)

Сайты http://name.site и http://www.name.site для поисковых систем являются разными. А по факту это разные адреса одного сайта.

В поисковой системе сайт по одному адресу будет проиндексирован, а по второму адресу зафиксирован как дубль, что может повлиять на продвижение ресурса. Для избегания дублей необходимо сделать так называемую «склейку» сайта, то есть прописать 301 редирект в .htaccess.

Если изначально в индекс поисковой системы попала версия «с www», в файл .htaccess добавляется редирект на «без www»:

RewriteCond %{HTTP_HOST} ^www.name\.site$ [NC]

RewriteRule ^(.*)$ http://name.site/$1 [R=301,L]

Если произошла обратная ситуация и необходима переадресация с без «www» на «www», то в файл прописывается:

RewriteCond %{HTTP_HOST} ^v name\.site$ [NC]

RewriteRule ^(.*)$ http://www.name.site/$1 [R=301,L]

Редирект с http на https для всего сайта

В случае перехода на защищенный протокол https для всего сайта, необходимо настроить перенаправление с http на https. Для этого в файл .htaccess добавьте:

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Если данная конструкция не сработает, попробуйте другой вариант:

RewriteCond %{HTTPS} =on

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

RewriteCond %{HTTPS} off

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Если редирект не работает и в этом случае, попробуйте такой вариант:

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteCond %{REQUEST_URI} =/page.php

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

В результате пройдет перенаправление на https всех пользователей и поисковых систем.

Постранично

Бывают случаи, когда необходимо создать редирект на https всех страниц, кроме одной. В этом случае используют постраничный редирект:

RewriteEngine On

RewriteCond %{HTTPS} =off

RewriteCond %{REQUEST_URI} !^/page.php

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Для одной страницы

Для редиректа с http на https одной страницы (например page.php), в файл добавьте следующую конструкцию:

RewriteEngine On

RewriteCond %{HTTPS} =off

RewriteCond %{REQUEST_URI} =/page.php

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Редирект сайта с https на http

Если необходимо сделать 301 редирект всего сайта с https на http, в файл прописывается следующее:

RewriteCond %{SERVER_PORT} ^443$ [OR]

RewriteCond %{HTTP} =on

RewriteRule ^(.*)$ https://name.site/$1 [R=301,L]

Изменение домена

В том случае. если необходимо перейти на другой домен, при этом сохранив SEO-позиции, в файл .htaccess прописывают следующее:

RewriteCond %{HTTP_HOST} ^www\.old_name\.ru$ [NC]

RewriteRule ^(.*)$ http://new_name.ru/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^old_name\.ru$ [NC]

RewriteRule ^(.*)$ http://new_name.ru/$1 [L,R=301]

Редирект на страницу с другим url (без параметров)

Иногда возникает ситуация, когда необходимо изменить url страницы, то есть перенести данные с одной страницы на другую страницу, при этом не потеряв вес страниц. В этом случае в файл .htaccess прописывают следующее:

RewriteRule ^(.*)old_page.html$ http://vash-sait.ru/new_page.html [R=301,L]

Редирект для url (с параметрами)

Если адрес содержит параметр (например, http://name.site/articles.php?section=1, где параметром является «section=1» ), то прописывают следующую конструкцию:

RewriteCond %{QUERY_STRING} section=1

RewriteRule ^index.php http://name.site/articles.php? [R=301,L]

Редирект с index.php на главную страницу

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

RewriteRule ^index\.php$ http://name.site/ [R=301,L]

Редирект со страниц со слешем на без слеша (для всего сайта)

Для избегания дублей в файле .htaccess используют следующую конструкцию:

RewriteCond %{REQUEST_URI} !\?

RewriteCond %{REQUEST_URI} !\&

RewriteCond %{REQUEST_URI} !\=

RewriteCond %{REQUEST_URI} !\.

RewriteCond %{REQUEST_URI} ![^\/]$

RewriteRule ^(.*)\/$ /$1 [R=301,L]

Или более короткий вариант:

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} ^(.+)/$

RewriteRule ^(.+)/$ /$1 [R=301,L]

Редирект со страниц без слеша на слеш (для всего сайта)

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

RewriteCond %{REQUEST_URI} !\?

RewriteCond %{REQUEST_URI} !\&

RewriteCond %{REQUEST_URI} !\=

RewriteCond %{REQUEST_URI} !\.

RewriteCond %{REQUEST_URI} !\/$

RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]

301 редирект с 404 Not Found

Код 404 Not Found (страница не найдена) присваивается удаленной или несуществующей странице на сайте. Создание постоянного перенаправления с таких страниц актуально для контентных сайтов и крупных интернет-магазинов, где страницы часто удаляются по естественным причинам. Тогда возникает потребность перенаправить посетителей на одну из главных страниц сайта, чтобы они не уходили с ресурса при виде ошибки.

Читайте также:  Откуда вы взяли мой IP-адрес командной лиги. [дубликат]

301 редирект для страниц 404 Not Found сделать совсем не сложно. Например, этот код перенаправит со всех 404-страниц на главную:

ErrorDocument 404 http://www.site.com/301.html

Однако делать такие редиректы в массовом порядке не рекомендуется, так как это может испортить SEO-статистику всего ресурса.

Финальный вид файла .htaccess

Пример файла htaccess, после добавления в него редиректов:

Options -Indexes

ErrorDocument 404 /404.php

php_flag register_globals off

php_value pcre.recursion_limit 1000

#Условия 301 редиректа


<IfModule mod_rewrite.c>

RewriteEngine On

# склейка зеркал


RewriteCond %{HTTP_HOST} ^my_site\.ru

RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^my_site\.ru

RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.my_site\.ru

RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.my_site.ru$ [NC]

RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.my_site\.ru

RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]

# без слеша


RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} ^(.+)/$

RewriteRule ^(.+)/$ /$1 [R=301,L]

</IfModule>

php_value default_charset utf-8

AddType 'text/html; charset=utf-8' .html .htm .shtml

Синтаксис для регулярных выражений в .htaccess

Важно учитывать, что настройка редиректа путем редактирования файла .htaccess  доступна исключительно для веб-серверов Apache.

Автоматическое создание переадресации

При отсутствии знаний и опыта самостоятельной настройки редиректа можно воспользоваться сервисами автоматической генерации:

Перенаправление на другой домен

В примере ниже выполняется редирект с www.old-domain.ru на www.new-domain.ru:

RewriteCond задает условие, при котором происходит выполнение правила, указанного в RewriteRule. Таким образом, при запросе любой страницы www.old-domain.ru или old-domain.ru будет осуществлен переход на адрес www.new-domain.ru.

Избавляемся от дублей на сайте

Простой редирект поможет справиться с дублями страниц, засоряющими выдачу. Например, для поисковых систем адреса https://www.site.ru/ и https://www.site.ru — совершенно разные, поэтому нужно определиться, какой вариант использовать: со слэшем (/) или без.

С помощью 301 редиректа убираем слэш:

С помощью 301 редиректа добавляем слэш:

Заменяем файлы .htm на файлы .html:

Перенаправление c http на https

Вариант 1 (без дополнительных условий).

Вариант 2 (перенаправление с http://example.ru на https://example.ru).

Вариант 3 (перенаправление с http://example.ru на https://example.ru с отключением перенаправления для robots.txt).

Вариант 4 (перенаправление с http://example.ru на https://www.example.ru).

Вариант 5 (перенаправление с http://www.forum.example.ru на https://forum.example.ru).

Вариант 6 (перенаправление с http://forum.example.ru на https://www.forum.example.ru).

В каких случаях используется постоянный редирект 301

  1. Смена доменного имени, перенос сайта. Необходимо произвести тотальную настройку переадресации со старого адреса на новый, чтобы все без исключения запросы к old_site.ru перенаправлялись на new_site.ru.

  2. Изменение написания url определенных страниц в целях SEO-продвижения, смены CMS или по иным причинам. Требуется настроить редирект с site.ru/1hdkr5 на site.ru/page_adress.

  3. Перенос разделов на субдомены. Необходимо сменить адрес www.site.ru/example на example.site.ru.

  4. Для аккумуляции трафика с адресов, купленных в разных доменных зонах, на один приоритетный ресурс. 

  5. Исключение дублирующихся страниц из индекса. 

  6. Склейка зеркал сайта – вариантов сайта с идентичным контентом, но разным написанием адресов: site.ru, www.site.ru, https://site1.ru и т.д. В этом случае выбирается один приоритетный домен и на него настраивается редирект со всех остальных зеркал.

  7. Удаление ранее существовавшей страницы. В этом случае пользователи обычно видят ошибку 404. Большое количество таких сообщений негативно воспринимается как пользователями, так и поисковиками.

  8. Для быстрого перехода пользователя на мобильную версию ресурса со смартфонов и планшетных устройств.

Перенаправление в подкаталог

Перенаправление поддомена forum.example.ru в подкаталог forum:

Перенаправление поддомена www.forum.example.ru в подкаталог forum:

Другие способы создания переадресации 301

Через PHP

Данный вариант подойдет тем, кто хорошо разбирается в web-программировании и PHP. Необходимо открыть файл index.php в корне CMS-движка и прописать там:

if($_SERVER['REQUEST_URI'] == "/index.php") {

 header("Location: /",TRUE,301);

 exit();

}

(в первой строке укажите старый url, а во второй — новый)

Второй способ — перенаправление при помощи отправки заголовков (скрипта):

<?php

  header("HTTP/1.1 301 Moved Permanently");

  header("Location: http://www.newdomain.ru/newdir/newpage.htm");

  exit();

?>

ASP-редирект

<%@ Language=VBScript %>

<%

Response.Status="301 Moved Permanently"

Response.AddHeader "Location", "http://www.new-url.com"

response.end

%>

ASP.NET редирект

Найдите в корне своего сайта файл web.config и вставьте в секцию синтаксис:

<script runat="server">

  private void Page_Load(object sender, System.EventArgs e)

  {

    Response.Status = "301 Moved Permanently";

    Response.AddHeader("Location","http://www.new-url.com");

  }

</script>

ColdFusion редирект

<.cfheader statuscode="301″ statustext="Moved permanently">

<.cfheader name="Location" value="http://www.new-url.com">

JSP (Java) редирект

Данный способ подойдет для небольшой корректировки простых сайтов. Код можно прописать лишь в одном файле, а сам файл добавить на все нужные страницы, указав:

<script type="text/javascript" src="redirect.js"></script>

<script type="text/javascript">

  location="https://yandex.ru";

</script>

CGI-скрипт на PERL

$q = new CGI;

print $q->redirect("http://www.new-url.com/");

Ruby on Rails

def old_action

headers["Status"] = "301 Moved Permanently"

redirect_to "http://www.new-url.com/"

end

Редирект в Nginx

if ($host = 'www.domain.com' ) {

  rewrite ^(.*)$ http://domain.com$1 permanent;

}

HTML-редирект

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

<meta http-equiv="refresh" content="5;https://livepage.pro">

Если поставить значение 0 вместо 5, то переадресация на https://livepage.pro произойдет моментально.

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

Перенаправление c http на https

1. Перенаправление с httphttps

1a. Для серверов с панелью VestaCP

1b. Для серверов с панелью ISPmanager при использовании Nginx:

2. Перенаправление с httphttpswww

3. Перенаправление с httpwwwhttps

4. Перенаправление с httphttpswww

Перенаправление домена с www на домен без www

В примерах осуществляется перенаправление с www.forum.example.ru на forum.example.ru.

Что есть 301 редирект

Простой код состояния 301 (Permanent Redirect), а в русскоязычном сегменте 301 редирект — это способ перенаправить пользователя со старого адреса страницы/ресурса на актуальный. Проделывается это на уровне сервера. В SEO сложно преувеличить ценность 301 редиректа — он помогает исключить из выдачи неактуальные URL, заменяя их новыми. В итоге сохраняется 90-99% ссылочного веса страниц и их позиции в выдаче поисковых систем.

Если перевести техническое взаимодействие на простой человеческий язык, то буквально происходит следующий диалог:301 редирект:— Запрашиваемую страницу я перенес вот сюда, на этот адрес. Это постоянное новое местоположение, возвращать мы её не будем.Браузер:— Хорошо, понял. Отправляю посетителя сразу туда.

Настройку можно осуществить разными способами: скриптами, через HTML и PHP, через редактирование файла .htaccess. О последнем варианте расскажем подробно.

Создание постоянной переадресации 301 через настройки и плагины CMS

В большинстве популярных конструкторов сайтов и CMS (OpenCart, Joomla!, Битрикс, Wix, Тильда) предусмотрена настройка редиректов с помощью встроенных инструментов. Если сайт создан с помощью WordPress, для настройки переадресации можно воспользоваться следующими плагинами:

Настроить Permanent Redirect 301 в Вордпресс можно и через редактирование файла .htaccess в разделе управления хостингом. Чтобы подключиться к нему, потребуется использовать FTP-клиент. Сама кодировка производится по общим правилам настройки переадресации в .htaccess.

Чтобы настроить 301 редирект в CMS OpenCart в файле .htaccess необходимо прописать:

RewriteCond %{QUERY_STRING} ^_route_=адрес_старой_страницы.html$

RewriteRule ^(.*)$ http://ваш_домен.ru/новой_страницы/? [R=301,L]

Для Битрикс кодировка будет выглядеть следующим образом:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.sng-it.ru$ [NC]

RewriteRule ^(.*)$ http://sng-it.ru/$1 [R=301,L]

В Joomla настройки переадресации производятся через панель администратора в разделе «Компоненты» => «Перенаправление». Здесь можно не только установить правила редиректа, но и отслеживать страницы с битыми ссылками и перенаправлять их на корректные адреса.

Читайте также:  Оптимизируйте общение по электронной почте с помощью Beget Webmail

.htaccess

С конструкторами сайтов все не так однозначно. Например, один из наиболее популярных CMS-конструкторов WIX не предоставляет возможности создания файла .htaccess.

Настройка htaccess

Но настроить редирект 301 довольно просто в базовом редакторе.

Перенаправление домена с www на домен без www

В примерах осуществляется перенаправление с www.forum.example.ru на forum.example.ru.

Простое перенаправление

Чтобы ссылка на одну страницу перенаправляла на открытие другой, добавьте в файл .htaccess следующую строку:

Redirect 301 / http://example.com/index.html

В предложенном варианте:

  • Redirect 301 — инструкция, сообщающая, что страница перемещена постоянно;
  • http://example.com/index.html — адрес страницы, на которую происходит перенаправление.

При использовании 301 редиректа рейтинг сайта в поисковых системах сохраняется.

Аналогичный синтаксис простого редиректа в другом примере:

Redirect permanent / http://example.com/index.html

Проверка корректности настроек 301 редиректа

Самый простой способ проверки переадресации – ручное тестирование. Для этого необходимо вставить в адресную строку браузера url сайта или страницы, с которой настроено перенаправление. Если при открытии будет доступен ресурс, на который настроен редирект, то переадресация выполняется правильно.

Для автоматической проверки можно воспользоваться специальными сервисами:

Существует ряд ошибок, которые следует избегать при настройке редирект 301:

  • использование перенаправлений между страницами сайта без изменения их url в ссылках;

  • установка временной переадресации вместо постоянной;

  • неправильный выбор типа редиректа;

  • перенаправление файла robots.txt;

  • непонимание разницы между rel=canonical и кодом 301;

  • редирект на нерелевантный контент;

  • переадресация, которая не приводит к 200-й странице.

Стоит отметить проблему создания цепочки ссылок, которая может привести к появлению циклического редиректа — ошибки с кодом «ERR_TOO_MANY_REDIRECTS». Наиболее распространенные причины возникновения такого бага – неправильная настройка в процессе создания переадресации, вирусная атака, слишком длинная цепочка редиректов. Не рекомендуется настраивать редирект, содержащий более пяти адресов. Оптимальной является прямая переадресация со старого на новый url.

Перенаправление на http для одной страницы

для панели VestaCP

Смена ссылок на относительные

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

  • Протокол https. Например, заменить http://seopulses.ru на
    https://seopulses.ru;
  • Относительными ссылками. В этом случае ссылка https://seopulses.ru/kak-svyazat-google-analytics-i-google-search-console/
    можно заменить на /kak-svyazat-google-analytics-i-google-search-console/ или /seopulses.ru/kak-svyazat-google-analytics-i-google-search-console/.

При корректном использовании правила в строке браузера, где
прописан URL страницы можно увидеть зеленый «Замок» (для Google Chrome).

Защищенный https протокол в браузере Google Chrome (замочек)

Если же в коде все еще остались ссылки на старую версию, то
вместо «Замка» будет показан «Не защищено».

Не защищенный http протокол в браузере Google Chrome

Для этой цели можно воспользоваться имеющимися плагинами и
модулями, например, для WordPress подойдет модуль Really Simple SSL, который автоматически
настроит файлы для корректной работы SSL-сертификата.

Смена главного зеркала в Яндекс

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

Переезд сайта с http на https в Яндекс.Вебмастере

Как только заявка будет принята можно увидеть
соответствующее уведомление в системе.

Оформленный переезд на https в Яндекс.Вебмастере

Важно! Переезд и смена зеркал сайта может занять 2-4 недели.

При правильном выполнении инструкции в панели Вебмастера
главным зеркалом станет версия HTTPS.

Переезд на https с зеркалами в Яндекс.Вебмастере

Видеоинструкция

https://youtube.com/watch?v=R8tvQ2SXMeA%3Ffeature%3Doembed

Перенаправление домена без www на домен с www

Данное перенаправление также может быть выполнено двумя способами. В примерах осуществляется редирект с forum.example.ru на www.forum.example.ru.

Способ 2 (в данном способе нет необходимости указания домена).

Подготовка к переезду на HTTPS

Для того чтобы перейти на безопасный протокол потребуется первоначально установить SSL сертификат на хостинг. Бесплатно данный сертификат выдают хостинг компании или же можно сделать это самостоятельно ознакомившись с инструкцией.

https://youtube.com/watch?v=mqWKuIzsZzQ%3Ffeature%3Doembed

После установки можно проверить, что сайт открывается по
протоколу https (например,
https://seopulses.ru).

Безопасное подключение https в браузере

При некорректной установке SSL-сертификата на экране появиться
следующая ошибка.

сайт на http без подключенного SSL-сертификата

Также можно будет увидеть данную ошибку при использовании
истекших сертификатов.

Перенаправление на http для одной страницы

Вариант 2 (общее перенаправление на https, с перенаправлением одной страницы на http). Этот способ часто необходим для CMS Bitrix и корректной работы обмена данными с 1С, т.к. 1C не может подключаться по протоколу https.

Перенаправление домена без www на домен с www

В примерах осуществляется редирект с forum.example.ru на www.forum.example.ru.

Способ 2, без указания домена:

Перенаправление в подкаталог

Перенаправление поддомена forum.example.ru в подкаталог forum: 

Редирект 301 в панелях управления сервера

Большинство панелей управления сервера предоставляют возможность настройки переадресации с кодом 301. Рассмотрим варианты решения этой задачи на примере двух популярных ПУ для VDS.

Cpanel

Как сделать 301 редирект - Cpanel

Нужно перейти в блок «Домены» => «Перенаправления». В появившемся окне выполнить следующее:

  • В строке «Тип» выбрать «Постоянный 301».

  • В строке «https://www» из выпадающего списка выбрать домен сайта (например, example.ru).

  • В строке «Перенаправляет на» указать для домена адрес http://example.ru.

  • В блоке «Перенаправление www» поставить галочку напротив «Перенаправлять только с www».

  • Сохранить изменения кликом на «Добавить».

ISPmanager

Как сделать 301 редирект в ISPManager

В этой панели можно вручную править файлы nginx.config или .htaccess, но есть и встроенный механизм переадресации. Например, для настройки редиректа на https/http нужно снять галочку с соответствующего пункта в разделе «WWW-домены».

Перенаправление с использованием mod_rewrite

Перенаправление на другой домен

В примере ниже выполняется редирект с www.old-domain.ru на www.new-domain.ru:

RewriteCond задает условие, при котором происходит выполнение правила, указанного в RewriteRule. Таким образом, при запросе любой страницы www.old-domain.ru или old-domain.ru будет осуществлен переход на адрес www.new-domain.ru.

Перенаправление домена без www на домен с www

Данное перенаправление также может быть выполнено двумя способами. В примерах осуществляется редирект с forum.example.ru на www.forum.example.ru.

Способ 2 (в данном способе нет необходимости указания домена).

Перенаправление домена с www на домен без www

В примерах осуществляется перенаправление с www.forum.example.ru на forum.example.ru.

Перенаправление в подкаталог

Перенаправление поддомена forum.example.ru в подкаталог forum:

www.forum.example.ru в подкаталог forum: 

Перенаправление с несуществующего файла

Такие перенаправления могут быть полезны, когда необходимо, чтобы тот или иной статический файл (.txt, .jpg, .pdf и многие другие расширения) обрабатывался Apache вместо Nginx. 

Перенаправление на PHP-скрипт при обращении к несуществующему файлу robots.txt:

Перенаправление с несуществующего файла filename.jpg на необходимый статический файл (предварительно нужно переименовать filename.jpg — например, в filename.jpg2):

Перенаправление c http на https

Вариант 1 (без дополнительных условий).

Вариант 2 (перенаправление с httphttps

Вариант 3 (перенаправление с httphttps://example.ru с отключением перенаправления для robots.txt).

Вариант 4 (перенаправление с httphttpswww

Вариант 5 (перенаправление с httpwwwhttps

Вариант 6 (перенаправление с httphttpswww

Перенаправление с https на http

Перенаправление на http для одной страницы

Вариант 2 (общее перенаправление на https, с перенаправлением одной страницы на http). Этот способ часто необходим для CMS Bitrix и корректной работы обмена данными с 1С, т.к. 1C не может подключаться по протоколу https.

Перенаправление на https для одной страницы

Перенаправление на другой домен

В примере ниже выполняется редирект с www.old-domain.ru на www.new-domain.ru:

Редирект с http на https

Для того, чтобы переезд был полностью принят потребуется настроить 301-редирект с версии http на https.

Через файл .htaccess

Выполнить это действие можно прописав в файле .htaccess одно
из следующих правил:

Через модули и плагины

В случае с WordPress для выполнения данного действия понадобиться плагин Easy
HTTPS Redirection.

установка плагина в WordPress для относительных ссылок и переезда на https

После этого активируем плагин.

активация плагина в WordPress для относительных ссылок и переезда на https

После чего будет включен автоматический редирект с версии http на
https.

Через Хостинг-панель или ISPmanager

Например в хостинге Timeweb для установки редиректа
потребуется открыть настройки сайта.

Настройки конфигурации сайта в панели хостинга

После установить правила для перенаправлений.

Настройка редиректов с http на https в панели хостинга

В IPS менеджере достаточно выбрать раздел «WWW»-«WWW-домены» и в нужной вкладке воспользоваться функцией
«Редиректы».

Редирект зеркал

Также рекомендуется проверить версии с www и без www, которые также должны редиректить на новую версию. Например, в случае seopulses.ru главной версией принята https://seopulses.ru, соответственно на нее редиректят следующие версии сайта:

  1. https://www.seopulses.ru/
  2. http://seopulses.ru/
  3. http://www.seopulses.ru/

Перенаправление с https на http

Распространенные 301 редиректы и их реализация

301 редирект, перенаправляющий с сайта www на сайт без www:

301 редирект с /index.php на корень

301 редирект с /index.html на корень

301 редирект с URL со слэшем в конце на URL без слэша:

Файл .htaccess с двумя редиректами: с сайта с www на сайт без www и со страниц без / на страницы со / в конце

301 редирект со старого домена на актуальный домен:

301 редирект со страницы на другую страницу:

301 редирект с http на https:

301 редирект с https на http:

Заключение

Использование редиректа 301– очень важный способ поисковой и пользовательской оптимизации веб-ресурса. Использовать его следует с осторожностью. Неправильная настройка может привести к сбоям в работе сайта и потере поисковых позиций.

Инструментов для настройки корректной работы Permanent Redirect 301 существует достаточно много. Наиболее удобный и правильный – внесение записей в файл .htaccess. Недостаток этого метода в том, что он доступен только для веб-серверов Apache. При использовании IIS придется настраивать web.config. Для создания сложных правил переадресации более всего подходит PHP, но в этом случае без помощи программиста не обойтись. Еще одним вариантом настройки 301 редиректа может быть обращение к хостинг-провайдеру с целью подключения услуги web-форвардинга.

Оцените статью
Хостинги