Содержание
- 1 Что такое редирект 301
- 2 Для чего он нужен
- 3 Способы настроить редирект 301
- 4 Настройка 301 редиректа в .htaccess
- 5 Постоянный редирект для Nginx
- 6 Редирект для PHP
- 7 Редирект 301 в разных панелях управления хостингом
- 8 Особенности редиректа для популярных CMS
- 9 Автоматическое создание кода
- 10 Циклическое перенаправление
- 11 Как узнать, что переадресация работает правильно
- 12 Заключение
- 13 Что такое протокол HTTPS
- 14 Почему важно перейти на HTTPS
- 15 Общие принципы перехода на HTTPS
- 16 Изменение префиксов в панели вордпресса
- 17 Перенаправление остальных элементов
- 18 Редирект на HTTPS 301 в .htaccess
- 19 С помощью плагина Easy HTTPS Redirection
- 20 Какие проблемы могут возникнуть при переходе на HTTPS
- 21 Чеклист всех операций
- 22 Редирект на Linux-хостинге
- 23 Как настроить 301 редирект с HTTP на HTTPS?
- 24 Настройка редиректа в ISPmanager
- 25 Настройка редиректа в cPanel и Plesk
- 26 Как открыть файл .htacсess
- 27 Не нашли ответа на свой вопрос?
26 сентября 20192 220Время чтения ≈ 19 минут
Содержание:
Во время работы с сайтом может возникнуть ситуация, требующая создания автоматического перенаправления с одного url-адреса на другой, которые принято называть словом «редирект». Это часто происходитит при переезде ресурсе на новый домен, при переходе на обновлённый адрес, а также изменении адресов страниц. Чтобы пользователи смогли найти страницу по новому адресу, их должно автоматически «перекидывать» со старого адреса на новый.
Правильно сделать такое перенаправления поможет постоянный редирект или 301 Redirect. Что это такое и как настроить расскажем в этой статье.
Что такое редирект 301
Редирект — это процесс, при котором пользователь перенаправляется с неактуальной страницы на актуальную. Это может быть http и https или адрес с/без www. Редирект может выполняться как на сервере, так и в браузере. Но первый вариант считается предпочтительным, так как серверный редирект не замедляет загрузку страниц.
Permanent Redirect 301 («301 редирект», «постоянный редирект», «код состояния HTTP 301» или «301 редирект страницы») – один из двух наиболее распространённых видов редиректа, наряду с Temporary Redirect 302. Этот ответ сервера на запрос браузера или поисковой системы означает, что произошла перманентная переадресация страницы. Она больше не доступна по текущему адресу, так как переместилась на новый адрес навсегда. Её прежний url стал недействительным, а вес с него переместился на новый адрес.
Для чего он нужен
Правильная настройка 301 переадресации имеет особое значение для SEO-продвижения ресурса. Только при этом условии изменение домена или перемещение контента могут пройти без потерь в поисковых значениях. Поисковая система поймёт, что страница была перемещена по всем правилам, после чего сохранит её прежний вес и позицию в выдаче.
Также полезно знать как настроить редирект при следующих обстоятельствах:
- Переезд сайта на новый адрес. Нужно настроить перенаправление, чтобы все запросы к old_site.com перенаправлялись на new_site.com.
- Установка SSL-сертификата. Чтобы запросы к страницам, которые начинаются на http, перенаправлялись на адреса с префиксом
- Смена URL страницы. Это может быть связано с переходом на другую CMS или SEO-оптимизацией. Нужно, чтобы с example.ru/1hdkr5 был настроен редирект на example.ru/page_adress.
- Перенос разделов на субдомены. Было www.example.ru/example, а нужно example.site.ru.
- Для аккумуляциитрафика с онлайн-бренда, расположенного в разных доменных зонах. Вебмастер покупает домены example.com, example.ru, example.net, example.org и example.biz и на четырех последних сайтах настраивает редирект на example.com.
- Для быстрого перехода пользователя на мобильную версию ресурса со смартфонов и планшетных устройств.
Способы настроить редирект 301
- Плагины для CMS. Особенно часто данный способ применяется для настройки 301 редиректа в WordPress.
- Настройка через PHP. Редирект осуществляется через задания дополнительного условия в PHP-скрипте. При обращении к корневому файлу php браузер получает указание открыть одну страницу вместо другой.
- Настройка при помощи HTML. Используется в случае, если необходимо изменить лишь одну страницу на статическом сайте. Редирект происходит путём добавления специальной метки (тега), в заголовок html-документа.
- JavaScript — операция через браузер. Скрипт загружается в ПО, это более медленный способ. Работает только при включенном JavaScript в браузере. Используются преимущественно для редиректа с задержкой, когда сначала посетитель сайта видит страницу с обратным отсчетом и текстом. Для настройки в тег добавляется скрипт.
- Изменение файла .htaccess, отвечающего за дополнительную конфигурацию в серверах на Apache. Удобнее всего это сделать через панель управления хостингом.
Последний способ переадресации считается наиболее надежным, поэтому разберём его практически со всеми возможными вариантами.
Настройка 301 редиректа в .htaccess
Файл с расширением .htaccess – это дополнительный конфигурационный файл сервера Apache. Его используют для настройки веб-сервера, а также для обработки различных URL-адресов.
Для настройки 301 редиректа в файле .htaccess чаще всего применяют одну из трёх директив: Redirect, RedirectMatch или RewriteRule. Директивы относятся только к папке, где размещен .htaccess, а оттуда распространяются на дочерние папки.
Найти файл можно через панель управления хостинга (Cpanel, ISPmanager), либо использовать FTP-клиент. При любом варианте, нужно включить отображение скрытых файлов.
Предварительная подготовка
- Для создания 301 редиректа перейдите в панель управления вашего сайта.
- Проверьте наличие .htaccess файла в корневом каталоге сайта (public_html). Если файл отсутствует, создайте его.
- Перед тем как начать прописывать правила перенаправления, необходимо включить механизм преобразований (RewriteEngine), при помощи команды:
RewriteEngine On
- Хостинги применяют по умолчанию 302 или любой другой 3xx редирект, В связи с этим в правилах используются флаги. Рекомендуем дописывать в своих правилах [R=301,L].
Далее разберём наиболее распространенные варианты 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 всех пользователей и поисковых систем, SEO значения при этом сохранятся.
Постранично
Бывают случаи, когда необходимо провести редирект на 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 страницы, то есть перенести данные с одной страницы на другую страницу, при этом не потеряв SEO значения. В этом случае в файл .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 (страница не найдена) присваивается удалённой или несуществующей странице на сайте, а также часто возникает при попутке неправильно ввести url-адрес. Создание постоянного перенаправления с таких страниц актуально для контентных сайтов и крупных интернет-магазинов, где страницы часто удаляются по естественным причинам. Тогда возникает потребность перенаправить посетителей на одну из главных страниц сайта, чтобы они не уходили с ресурса, при виде ошибки.
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> 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
Постоянный редирект для Nginx
Этот веб-сервер наиболее часто используется в VPS-хостинге в связке с сервером Apache. В нем 301 редирект настраивается добавлением строк в конфигурационном файле nginx.config в секции server.
C www на без www
server {#... if($host~ * www.(.*)) { set $host_without_www $1; rewrite ^ (.*) $ http: //$host_without_www$1 permanent; }#... }
Без www на с www
server {#... if($host~ * ^ [ ^ .] + .[ ^ .] + $) { rewrite ^ (.*) $ $scheme: //www.$host$1 permanent; }#... }
После сохранения изменений в файле нужно перезапустить сервер выполнением команды «service nginx restart».
Редирект для PHP
Этот вариант действует на уровне сервера. Он используется в тех случаях, когда редирект необходимо создать для большого количества страниц, не все из которых имеются на платформе.
- Загрузите файл index.php на жесткий диск.
- Сгенерируйте код.
- Вставьте код в текстовый файл, сохраните его и загрузите на сервер.
- Укажите основной URL в настройках сайта.
Редирект 301 в разных панелях управления хостингом
Cpanel
Нужно перейти в блок «Домены» => «Перенаправления». В появившемся окне выполнить следующее:
- в строке «Тип» выбрать «Постоянный 301»;
- в строке «https://www» из выпадающего списка выбрать домен сайта (например, example.ru);
- в строке «Перенаправляет на» указать для домена адрес http://example.ru;
- в блоке «Перенаправление www» поставить галочку напротив «Перенаправлять только с www»;
- сохранить изменения кликом на «Добавить».
ISPmanager
В этой панели можно править файлы nginx.config или .htaccess, но есть в панели и встроенный механизм переадресации. Например, для настройки редиректа на https/http, нужно снять галочку с соответствующего пункта в разделе «WWW-домены».
Особенности редиректа для популярных CMS
WordPress
Для самой массовой CMS существуют десятки плагинов для создания постоянного редиректа. Наиболее популярные среди них: Redirection, Simple 301 Redirects, Quick Page, SEO Redirection и Safe Redirect Manager.
Для примера, разберём перенаправление через плагин Redirection. Его настройка производится через консоль сайта во вкладке «Инструменты» или через раздел плагинов. Чтобы сделать переадресацию, достаточно заполнить два поля — Source URL и Target URL. Соответственно, в первой графе будет указан старый адрес, во второй — новый, без или с www.
Сделать это можно и через редактирование файла .htaccess в разделе управления хостингом. Чтобы подключить к нему, потребуется использовать FTP-клиент. Процесс не отличается от общей инструкции для .htaccess.
OpenCart
Для Opencart редактируется файл .htaccess. Код переадресации выглядит так:
RewriteCond %{QUERY_STRING} ^_route_=адрес_старой_страницы.html$ RewriteRule ^(.*)$ http://ваш_домен.ru/новой_страницы/? [R=301,L]
Битрикс
Для перенаправления на новую страницу достаточно отредактировать файл .htaccess, внеся в него такой редирект:
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.sng-it.ru$ [NC] RewriteRule ^(.*)$ http://sng-it.ru/$1 [R=301,L]
Joomla
В панели администратора этой CMS нужно перейти в раздел «Компоненты» => «Перенаправление». В окне можно настраивать правила редиректа для различных страниц, а также отслеживать страницы с битыми ссылками и перенаправлять их на корректные адреса.
MODX
Для гибкой настройки переадресации стоит использовать плагин Redirector.
Автоматическое создание кода
Если самостоятельно создать код не получается из-за отсутствия знаний и опыта, можно попросить помощи у специалиста технической поддержки или воспользоваться автоматическими онлайн-генераторами.
Серверы для генерации кода
- Seomagnifier — 301 для www.
- 301 Redirect Code Generator Tool — для доменов и страниц.
- Generate .htaccess— для страниц, разделов сайтов, доменов.
Циклическое перенаправление
Одна из самых распространённых проблем при настройке 301 редиректа — вероятность создания не одинарного перенаправления, а целой цепочки редиректов. Это может быть вызвано некорректной настройкой файла .htaccess, плагина CMS или прямым действием вируса. В очень вероятной перспективе такие «цепочки» приводят к появлению циклического редиректа — ошибки с кодом «ERR_TOO_MANY_REDIRECTS».
Обнаружить циклическое перенаправление помогут бесплатные онлайн-сервисы проверки редиректа. Среди наиболее популярных:
- Prcy-info;
- Website Planet;
- Redirect Detective;
- Mainspy;
- Seogift.
Можно также установить специальные браузерные расширения для Google Chrome и Mozilla Firefox.
Действия при циклическом редиректе
- Если ошибка возникла в процессе настройки. Следует проверить корректность соблюдения правил работы 301 редиректа для конкретных адресов, по которым выдаётся ошибка.
- Если циклический редирект вызван вирусом. Когда зацикливание возникает при попытке открыть любой адрес на сайте, выход может быть один — откат к последней работоспособной версии, сохранённой в бекапе.
- Если зацикливание вызвано слишком длинной цепочкой редиректов (более пяти). Нужно сократить цепочку перенаправлений до одного шага.
Как узнать, что переадресация работает правильно
Проверить редирект лучше всего обычным тестированием. Нужно ввести в адресную строку браузера www.example.ru и нажать Enter. Если все правильно, то должен открыться сайт по адресу example.ru.
Для более точной информации можно использовать онлайн-сервисы отслеживания. С ними можно работать «в 1 клик» — достаточно просто вставить ссылку на интересующую страницу.
Для примера, разберём работу в сервисе Redirect Checker. После ввода ссылки перенаправления при нормальной работе внизу появится надпись «Everything seems to be fine», то есть «все работает». Сервис автоматически проверит редирект и сообщит, если он работает некорректно. Если переадресация не действует, пользователь увидит такие сообщения: «Редирект для домена больше не работает» или «Перенаправление не настроено».
Заключение
Для того чтобы поисковая система считала два разных адреса одним сайтом, должна работать постоянная переадресация. 301 редирект — удобный и надежный инструмент для оптимизации сайта, исправления ошибок и недоработок на сайте.
Использовать данный инструмент необходимо с осторожностью. Ведь неправильная настройка может привести к сбою в работе или потере поисковых позиций сайта.
Чтобы сайт после редиректа не только открывался по нужному адресу, но и работал без сбоев, ему нужна надёжная хостинг-площадка. Размещайтесь на VPS от Eternalhost, чтобы забыть о технических сложностях и полностью сосредоточиться на развитии своего интернет-ресурса!
Оцените материал: [Всего голосов: 1 Средний: 5/5]
Читайте также:
Проверяем uptime хостинга: 7 полезных инструментов
Как создать кампанию в Google Ads за 6 шагов: руководство для начинающих
Чек-листы проверки работы сайта: на неделю, месяц, квартал, год
DDoS-атака: что такое, как работает и можно ли защититься
Популярные PHP-фреймворки для веб-разработчиков
Cжимаем видео без потери качества —лайфхак по SEO
Сделаем при помощи нескольких функций: настройка параметров в админке, назначение правил в htaccess и установка плагина. Если этого не сделать, то сайт будет открываться сразу по двум адресам, что приведет к появлению дублей и понижению позиций. В статье я расскажу 3 простых шага, которые помогут избежать этой ситуации.
Содержание
Что такое протокол HTTPS
Протокол HTTPS (расшифровка Hypertext Transport Protocol Secure) — это технология, шифрующая информацию между сайтом и пользователем. При вводе информации посетителем и выводе ее на экран, шифруется все, что дает преграду злоумышленникам похитить личные данные.
Технологии применяемые в HTTPS
- Шифрование. Каждое действие шифруется
- Безопасность. При изменении и добавлении новых данных они сохраняются
- Аутентификация. Блокирует небезопасные перенаправления
Почему важно перейти на HTTPS
Причин для перехода на HTTPS может быть несколько.
- Первая — это небольшой приоритет в выдаче поисковых систем, сообщаете ПС что вы заботитесь о безопасности и конфиденциальности посетителей.
- Вторая — при сборе контактов (в той же форме комментирования), нужно применять протокол, так как перехватить информацию легко. Часто посетители авторизуются на сайте при помощи социальных сетей.
- Третья — оплата в интернет магазинах. Если имеется интернет магазин без SSL — сертификата он будет заблокирован и помечен, как небезопасный в любом браузере. Google и Яндекс давно отслеживают такие ресурсы и как минимум не дают им первые позиции, и как максимум помечают как опасные.
Общие принципы перехода на HTTPS
Принцип перехода прост, вы покупаете, либо берете бесплатный SSL — сертификат, устанавливаете на сайт (сами или помогает поддержка хостинга), настраиваете элементы для корректного отображения и радуетесь зеленой полоске в браузере. По шагам выглядит так:
- Выбрать платный или бесплатный серитификат
- Получить персональный ключ
- Оформить файл с протоколом в онлайн — центре сертификации
- Установить и привязать сертификат к домену
- Настроить движок и изменить ссылки
Изменение префиксов в панели вордпресса
Для редиректа на HTTPS главной страницы в панели WordPress заходим в настройки, в раздел общие и прописываем там дополнительную букву S, как показано на скриншоте. Теперь заходите на сайт по протоколу, по заранее известным логину и паролю.
После смены адреса и подключив перенаправление при входе в админ-панель придется по новой вводить логин и пароль. Совет если не помните то заранее их восстановите.
Перенаправление остальных элементов
Чтобы сделать 301 редирект остальных элементов (не записей), картинок, ссылок, таблиц и т.д. нужно установить ненадолго плагин Velvet Blues Update URLs. Чтобы установить плагин:
- Перейдите в раздел плагины > добавить новый
- В поле поиск введите название
- На карточке нажмите кнопку активировать
Устанавливаем и вводим настройки, заходим в раздел инструменты > Update URLs. В поле Old URL вводим адрес сайта без протокола, а New URL с ним.
Далее переходим ко второму шагу и отмечаем все галочки кроме последней. Этим действием перезапишем все имеющиеся на сайте объекты, в которых могут содержаться URL без протокола, и нажимаем Update.
Инструмент начнет работу, и после покажет сводную таблицу сколько элементов изменено. После проделанной операции, можно деактивировать и удалить его из WordPress.
Редирект на HTTPS 301 в .htaccess
Завершающим этапом является добавление в WordPress 301 перенаправления в файле htaccess. Он регулирует работу Apache, определим существует ли этот файл на вашем сайте.
Apache — оболочка на чем работает сервер, это как на компьютере стоит Windows. Некоторые хостинги пренебрегают добавлением в репозиторий ресурса, пытаясь управлять с помощью сервера.
Идем в корень WordPress и смотрим. Если существует, то открываем его для редактирования, если нет, то создаем. Нужно подключиться к сайту через FTP соединение, мы используем FileZilla. Войдя в корневой каталог (определяем корень по папкам wp-content и wp-admin), находим htaccess и кликом правой кнопкой мыши выбираем «Просмотр/Правка».
В появившемся окне программы, вводим конфигурацию написанную ниже после begin wordpress или перед end wordpress. Сохраняем нажатием CTRL+S, либо через меню файл-сохранить. Код подходит и для мультисайта с поддоменами.
RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
После сохранения изменений FileZilla запросит разрешение на перезапись файла htaccess, соглашаемся и программа начнет процесс загрузки.
Это позволит имеющиеся страницы WordPress перевести на https протокол и выводить их автоматически с правильным префиксом. Для проверки работы, зайдите на любую страницу и сотрите букву S, нажмите enter, если редирект с http на https WordPress сработал, то продолжаем.
С помощью плагина Easy HTTPS Redirection
Наиболее простой метод установить плагин, мы советуем Easy HTTPS Redirection. В данном случаем остальные действия делать не нужно. Установив, переходим к настройке.
- Enable automatic redirection — включает переадресацию
- Apply HTTPS redirection on — первый пункт перенаправляет весь ресурс, во втором можно выставить для отдельных страниц
- Force resources to use HTTPS URL — данная галочка может дать множество битых ссылок, она принудительно перезаписывает ссылки в статьях. Не все сервисы и ресурсы перешли на безопасное соединение.
Какие проблемы могут возникнуть при переходе на HTTPS
Проблем при переходе на HTTPS немного. Первая причина не убраны со страницы все исходящие и внутренние ссылки с протоколом HTTP. Далее редиректы, неправильно прописанные в htaccess. Не знание специфики WordPress, что и где нужно менять. Что делать в таких ситуациях:
- Проверить всё ли правильно сделано, в админке и в файле htaccess
- Если всё хорошо, то проверить работу во всех браузерах, хром, опера, мозилла и т.д. Возможно проблема в неисправном браузере либо в расширениях, которые не дают сработать редиректу.
- Возможны неправильные настройки сервера или SSL — сертификата, с этой проблемой скорее всего придется обратиться в поддержку хостинга. Если ошибка не на их стороне, то к поставщикам сертификата.
Если удобнее учится по видео, то смотрите наш обучающий ролик.
Чеклист всех операций
- Меняем в панели HTTP на HTTPS
- Заменяем все ссылки на новые с буквой S
- Прописываем правила переадресации в htaccess
Мы смогли поставить редирект на HTTPS в cms WordPress и сертификат работает правильно. После всех операций, сайт должен быстро проиндексироваться поисковыми системами и обновлен в выдаче.
Вопрос экспертуРаботает ли микроразметка в Вашем плагине?Судя по инструментам проверки в Google — да!Пожалуйста, оцените материал:
Редирект на Linux-хостинге
Чтобы ваш сайт работал по безопасному протоколу HTTPS, после установки SSL-сертификата нужно настроить перенаправление (редирект) с HTTP на HTTPS в панели управления.
Для этого ваш сайт должен быть размещен на хостинге REG.RU. Попробуйте тестовый период бесплатного хостинга для сайтов html и php.
Обращаем внимание, что редирект стоит настраивать только в том случае, если в панели управления уже установлен SSL-сертификат: Как установить SSL-сертификат на хостинг?
Как настроить 301 редирект с HTTP на HTTPS?
-
Если у вас на хостинге панель управления ISPmanager, переадресацию можно настроить в несколько кликов средствами панели управления.
-
Если у вас на хостинге панель управления — cPanel или Plesk, редирект настраивается только через конфигурационный файл .htaccess
Настройка редиректа в ISPmanager
Откройте панель управления ISPmanager и перейдите в раздел «WWW-домены». Выберите домен, который должен открываться по HTTPS и нажмите Изменить. Поставьте галочку напротив пункта Перенаправлять HTTP-запросы в HTTPS и нажмите ОК, чтобы сохранить изменения.
Готово! Теперь ваш сайт будет работать по протоколу HTTPS.
Настройка редиректа в cPanel и Plesk
Как настроить 301 редирект в htaccess:
- 1.Откройте вашу панель управления хостингом.
- 2.
Откройте файл .htaccess. Он расположен в корневой папке сайта. Если файл .htaccess отсутствует, то причина может быть в том, что в cPanel не отображаются скрытые файлы. Чтобы отобразить скрытые файлы, воспользуйтесь инструкцией.
Как открыть файл .htacсess
- 3.
Добавьте в конце файла .htaccess одно из правил, которое подходит для вашего случая:
Редирект всех страниц с http:// на https://, в том числе и с http://www на https://
Вариант 1
RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
или воспользуйтесь вторым вариантом (если первый вариант не поможет):
Вариант 2
RewriteEngine On RewriteCond %{HTTPS} =off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
если все варианты не помогли и возникает циклическая переадресация, добавьте:
Вариант 3
RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Вариант 4
RewriteEngine On RewriteCond %{ENV:HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Для примера возьмём страницу login.php. 301 редирект для неё настраивается следующим образом:
Вариант 1
RewriteEngine On RewriteCond %{HTTPS} =off RewriteCond %{REQUEST_URI} =/login.php RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
или
Вариант 2
RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{REQUEST_URI} =/login.php RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
В примере ниже редирект настраивается для страницы test.php.
RewriteEngine On RewriteCond %{HTTPS} =off RewriteCond %{REQUEST_URI} !^/test.php RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
- 4.Сохраните изменения.
Готово. Теперь ваш сайт будет работать по протоколу HTTPS.
Обратите внимание! Если ни один из предложенных вариантов кода не подошёл, обратитесь к разработчикам сайта или на тематические форумы. В некоторых случаях корректная настройка редиректа возможна только средствами CMS.
1344 —>
Не нашли ответа на свой вопрос?
Заявка в службу поддержкиИспользуемые источники:
- https://eternalhost.net/blog/sozdanie-saytov/301-redirekt-htaccess
- https://wpcourses.ru/redirect-https-wordpress/
- https://www.reg.ru/support/hosting-i-servery/kak-dobavit-redirekt/redirekt-s-http-na-https