Решено: Как настроить 301 редирект с HTTP на HTTPS
Редирект на Linux-хостинге
Чтобы ваш сайт работал по безопасному протоколу HTTPS, после установки SSL-сертификата нужно настроить перенаправление (редирект) с HTTP на HTTPS в панели управления. Для этого ваш сайт должен быть размещен на хостинге REG.RU. Попробуйте тестовый период бесплатного хостинга для сайтов html и php.
Hosting Linux в REG.RU
Обращаем внимание, что редирект стоит настраивать только в том случае, если в панели управления уже установлен SSL-сертификат: Как установить SSL-сертификат на хостинг?
Как настроить 301 редирект с HTTP на HTTPS
- Если у вас на хостинге панель управления ISPmanager, переадресацию можно настроить в несколько кликов средствами панели управления.
- Если у вас на хостинге панель управления — cPanel или Plesk, редирект настраивается только через конфигурационный файл .htaccess
Настройка редиректа в ISPmanager
Откройте панель управления ISPmanager и перейдите в раздел «Сайты». Выберите домен, который должен открываться по HTTPS, и нажмите на него двойным кликом:
Поставьте галочку напротив пункта Перенаправлять HTTP-запросы в HTTPS и нажмите ОК, чтобы сохранить изменения:
Готово, теперь ваш сайт будет работать по протоколу HTTPS.
Как настроить 301 редирект в htaccess:
-
1.
Откройте вашу панель управления хостингом.
-
2.
Откройте файл .htaccess. Он расположен в корневой папке сайта. Если файл .htaccess отсутствует, то причина может быть в том, что в cPanel не отображаются скрытые файлы. Чтобы отобразить скрытые файлы, воспользуйтесь инструкцией.
Как открыть файл .htaccess
cPanel
Plesk
Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.
В cPanel файл .htaccess скрыт по умолчанию. Чтобы приступить к редактированию файла, в настройках измените видимость скрытых файлов. Для этого в разделе «Файлы» выберите Менеджер файлов, нажмите на кнопку Настройки, поставьте галочку в поле Показать скрытые файлы (dotfiles) и сохраните изменения:
В разделе «Домены» выберите пункт Дополнительные домены. Нажмите по строке, где указана корневая папка домена. Затем нажмите правой кнопкой по файлу .htaccess и выберите в появившемся списке пункт Edit:
Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».
Под нужным доменом нажмите по строке, где указана корневая папка домена. Откроется корневая папка вашего сайта. Найдите в списке файл .htaccess и кликните по нему левой кнопкой мыши:
/test.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
-
4.
Сохраните изменения.
Готово, теперь ваш сайт будет работать по протоколу HTTPS.
Обратите внимание! Если ни один из предложенных вариантов кода не подошёл, обратитесь к разработчикам сайта или на тематические форумы. В некоторых случаях корректная настройка редиректа возможна только средствами CMS.
Видеосправка. Как настроить редирект с HTTP на HTTPS для Linux хостинга
Помогла ли вам статья?
Да
25 раз уже помогла
Решено: Как настроить 301 редирект с HTTP на HTTPS
Редирект на Linux-хостинге
Чтобы ваш сайт работал по безопасному протоколу HTTPS, после установки SSL-сертификата нужно настроить перенаправление (редирект) с HTTP на HTTPS в панели управления.
Для этого ваш сайт должен быть размещен на хостинге REG.RU. Попробуйте тестовый период бесплатного хостинга для сайтов html и php.Hosting Linux в REG.RU
Обращаем внимание, что редирект стоит настраивать только в том случае, если в панели управления уже установлен SSL-сертификат: Как установить SSL-сертификат на хостинг?
Как настроить 301 редирект с HTTP на HTTPS
- Если у вас на хостинге панель управления ISPmanager, переадресацию можно настроить в несколько кликов средствами панели управления.
- Если у вас на хостинге панель управления — cPanel или Plesk, редирект настраивается только через конфигурационный файл .htaccess
Настройка редиректа в ISPmanager
Откройте панель управления ISPmanager и перейдите в раздел «Сайты». Выберите домен, который должен открываться по HTTPS, и нажмите на него двойным кликом:
Поставьте галочку напротив пункта Перенаправлять HTTP-запросы в HTTPS и нажмите ОК, чтобы сохранить изменения:
Готово, теперь ваш сайт будет работать по протоколу HTTPS.
Как настроить 301 редирект в htaccess:
-
1.
Откройте вашу панель управления хостингом.
-
2.
Откройте файл .htaccess. Он расположен в корневой папке сайта. Если файл .htaccess отсутствует, то причина может быть в том, что в cPanel не отображаются скрытые файлы. Чтобы отобразить скрытые файлы, воспользуйтесь инструкцией.
Как открыть файл .htaccess
cPanel
Plesk
Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.
В cPanel файл .htaccess скрыт по умолчанию. Чтобы приступить к редактированию файла, в настройках измените видимость скрытых файлов. Для этого в разделе «Файлы» выберите Менеджер файлов, нажмите на кнопку Настройки, поставьте галочку в поле Показать скрытые файлы (dotfiles) и сохраните изменения:
В разделе «Домены» выберите пункт Дополнительные домены. Нажмите по строке, где указана корневая папка домена. Затем нажмите правой кнопкой по файлу .htaccess и выберите в появившемся списке пункт Edit:
Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».
Под нужным доменом нажмите по строке, где указана корневая папка домена. Откроется корневая папка вашего сайта. Найдите в списке файл
.htaccess и кликните по нему левой кнопкой мыши: -
3.
Добавьте в конце файла .htaccess одно из правил, которое подходит для вашего случая:
Редирект всех страниц с HTTP на HTTPS
Редирект всех страниц с http:// на https://, в том числе и с http://www на https://
Используйте вариант 1:
RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule . /test.php RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
-
4.
Сохраните изменения.
Готово, теперь ваш сайт будет работать по протоколу HTTPS.
Обратите внимание! Если ни один из предложенных вариантов кода не подошёл, обратитесь к разработчикам сайта или на тематические форумы. В некоторых случаях корректная настройка редиректа возможна только средствами CMS.
Видеосправка. Как настроить редирект с HTTP на HTTPS для Linux хостинга
Помогла ли вам статья?
Да
25 раз уже помогла
Решено: Как настроить 301 редирект с HTTP на HTTPS
Редирект на Linux-хостинге
Чтобы ваш сайт работал по безопасному протоколу HTTPS, после установки SSL-сертификата нужно настроить перенаправление (редирект) с HTTP на HTTPS в панели управления. Для этого ваш сайт должен быть размещен на хостинге REG.RU. Попробуйте тестовый период бесплатного хостинга для сайтов html и php.
Hosting Linux в REG.RU
Обращаем внимание, что редирект стоит настраивать только в том случае, если в панели управления уже установлен SSL-сертификат: Как установить SSL-сертификат на хостинг?
Как настроить 301 редирект с HTTP на HTTPS
- Если у вас на хостинге панель управления ISPmanager, переадресацию можно настроить в несколько кликов средствами панели управления.
- Если у вас на хостинге панель управления — cPanel или Plesk, редирект настраивается только через конфигурационный файл .htaccess
Настройка редиректа в ISPmanager
Откройте панель управления ISPmanager и перейдите в раздел «Сайты». Выберите домен, который должен открываться по HTTPS, и нажмите на него двойным кликом:
Поставьте галочку напротив пункта Перенаправлять HTTP-запросы в HTTPS и нажмите ОК, чтобы сохранить изменения:
Готово, теперь ваш сайт будет работать по протоколу HTTPS.
Как настроить 301 редирект в htaccess:
-
1.
Откройте вашу панель управления хостингом.
-
2.
Откройте файл .htaccess. Он расположен в корневой папке сайта. Если файл .htaccess отсутствует, то причина может быть в том, что в cPanel не отображаются скрытые файлы. Чтобы отобразить скрытые файлы, воспользуйтесь инструкцией.
Как открыть файл .htaccess
cPanel
Plesk
Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.
В cPanel файл .htaccess скрыт по умолчанию. Чтобы приступить к редактированию файла, в настройках измените видимость скрытых файлов. Для этого в разделе «Файлы» выберите Менеджер файлов, нажмите на кнопку Настройки, поставьте галочку в поле Показать скрытые файлы (dotfiles) и сохраните изменения:
В разделе «Домены» выберите пункт Дополнительные домены. Нажмите по строке, где указана корневая папка домена. Затем нажмите правой кнопкой по файлу .htaccess и выберите в появившемся списке пункт Edit:
Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».
Под нужным доменом нажмите по строке, где указана корневая папка домена. Откроется корневая папка вашего сайта. Найдите в списке файл .htaccess и кликните по нему левой кнопкой мыши:
-
3.
Добавьте в конце файла .htaccess одно из правил, которое подходит для вашего случая:
Редирект всех страниц с HTTP на HTTPS
Редирект всех страниц с http:// на https://, в том числе и с http://www на https://
Используйте вариант 1:
RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule . /test.php RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
-
4.
Сохраните изменения.
Готово, теперь ваш сайт будет работать по протоколу HTTPS.
Обратите внимание! Если ни один из предложенных вариантов кода не подошёл, обратитесь к разработчикам сайта или на тематические форумы. В некоторых случаях корректная настройка редиректа возможна только средствами CMS.
Видеосправка. Как настроить редирект с HTTP на HTTPS для Linux хостинга
Помогла ли вам статья?
Да
25 раз уже помогла
Как сделать редирект с http на https через htaccess
Безопасность. Сегодня это базовое требование к сайту, поэтому SSL-сертификат, гарантирующий безопасное соединение, становится не просто хорошим тоном, а обязательным критерием работы и развития любого web-ресурса. Чтобы без потерь перейти на передачу данных по защищенному протоколу, нужно настроить редирект с http на https. Какими способами это сделать, мы объясним в этой статье.
Содержание
- Что такое редирект
- Когда требуется редирект на Secure-протокол
- Подготовка к переезду
- Переезд в Яндекс Вебмастере
- Переезд в Google Search Console
- Как настроить редирект с HTTP на HTTPS через ISPmanager на хостингах
- Переадресация с HTTP на HTTPS для семерки самых ходовых хостингов
- Timeweb
- Masterhost
- nic.ru
- reg.ru
- beget.com
- sweb.ru
- jino.ru
- Синтаксис серверного редиректа на HTTPS
- Примеры редиректов на защищенный протокол для разных сценариев
- Проверка редиректа
- Вывод
Что такое редирект
Редирект — это перенаправление с нежелательного адреса на приоритетный. Настраивая автоматическую переадресацию, вы даете серверу команду отдавать по запросу одного URL другой — тот, который считаете более предпочтительным. Как работает принудительный редирект на https?
Человек в браузере кликает по ссылке на сайт X, но эта ссылка размещена еще в беззаботную эру http-протоколов, когда о SSL-сертификатах думали только параноики, а все данные передавались по открытым каналам. С тех пор сайт X перешел на защищенное соединение, а разработчики оформили редирект.
Браузер запрашивает у сервера документ по адресу http://site-x.com, но там прописана команда: вместо устаревшего http://site-x.com отдавать браузеру надежный https://site-x.com. Все это происходит моментально, поэтому пользователь, ничего не заметив, оказывается на правильной странице с защищенным протоколом. Теперь он может вводить свои личные данные, не беспокоясь, что их по дороге перехватят злоумышленники.
Для SEO важно правильно оформлять редиректы, чтобы сайт не упал в ранжировании на поиске, а все плюшки (ссылочная масса, трафик) с исходной страницы (донора) перешли на новую (акцептора). Подробно о разных вариантах переадресации мы писали в статье Узнайте какие бывают редиректы и в каких случаях их нужно настраивать.
Когда требуется редирект на Secure-протокол
Переадресация на безопасный протокол HyperText Transfer Protocol Secure (https) устанавливается после оформления SSL-сертификата.
SSL (Secure Sockets Layer) — криптографический протокол, который гарантирует защищенное соединение между пунктами А и Б — браузером пользователя и сервером, где располагается ваш сайт. Сигнал для пользователя, что вам не безразлична его безопасность и вы подключили SSL-сертификат, — это иконка закрытого замка и адрес, начинающийся с https://. Поисковики могут также предупреждать пользователей, что сайт, на который они хотят перейти, небезопасен. Это отпугивает потенциальных посетителей.
Наличие надежного безопасного соединения критично для интернет-магазинов, банков и всех порталов, имеющих дело с персональными данными своих посетителей. SSL создает условия для конфиденциальности и минимизирует риски перехвата паролей, логинов, информации о банковских карточках и т.д. Но это не значит, что простому информационнику или корпоративному сайту-визитке не нужен SSL-протокол: это весомый фактор ранжирования, и, если вы хотите вывести свою визитку в топ, сертификат, как ни крути, оформлять придется.
Google с 2014 года отдает приоритет сайтам с защищенным протоколом, Яндекс также учитывает этот фактор в распределении мест под солнцем.
Справка Яндекса: «Яндекс старается учитывать все относящиеся к качеству сайта данные, которыми обладает. Безопасность — важный атрибут качества для пользователя, а один из признаков безопасного сайта — использование протокола HTTPS. Выбирая защищенный протокол, владелец сайта заботится о безопасности пользовательских данных, и это может быть учтено в ранжировании».
Подготовка к переезду
- Внутри ресурса все абсолютные ссылки с полным адресом должны быть заменены на относительные (без указания протокола). Например, http://site-x.com/page-1/ меняем на site-x.com/page-1/ или /page-1/.
- В файле с директивами для поисковых краулеров robots.txt нужно переделать строку Host: сюда прописываем URL домена с новым Secure-протоколом: Host: https://site-x.com. Эту директиву Яндекс отменил в 2018 году, но некоторые сеошники продолжают прописывать ее до сих пор — мало ли что. Вдруг однажды поисковики передумают.
- Файлы robots.txt и sitemap.xml должны быть доступны по обоим протоколам и содержать ссылки с защищенным протоколом.
- Адреса http://site-x.com и https://site-x.com поисковый бот считает разными ресурсами. Пока он поймет, что по ним находится одинаковый контент, и объединит обе площадки в группу зеркал, вы потеряете время и позиции в выдаче. Поэтому, получив SSL-сертификат и оформив редирект всех страниц с http на https, нужно сообщить о нововведениях в консолях вебмастеров.
Переезд в Яндекс Вебмастере
- Обзаведитесь SSL-сертификатом (купите, или найдите бесплатный или самоподписанный) и настройте его.
- Добавьте сайт в Яндекс.Вебмастер, если вы еще этого не сделали.
- Перейдите на незащищенную версию, в разделе «Индексирование» → «Переезд сайта» отметьте галочкой пункт «Добавить HTTPS» и сохранить изменения.
- В течение 1–3 недель ждите уведомление о смене главного зеркала у старой версии. После окончательного переезда в Вебмастере все URL будут отдаваться под основным адресом https.
Переезд в Google Search Console
Тут все проще: открываем консоль вебмастера, нажимаем вкладку «Добавить ресурс», в правом окне вносим новый URL с защищенным протоколом, жмем «Продолжить», право собственности подтверждается автоматически, жмем «Готово». Осталось добавить ссылку на новую карту Sitemap, и сайт переехал. В панели должны остаться оба варианта URL: http и https.
А пока суть да дело, нужно настроить редирект. Сделать это можно разными способами.
Как настроить редирект с HTTP на HTTPS через ISPmanager на хостингах
ISPmanager — одна из самых популярных российских панелей управления хостингом и сайтами. Среди прочих опций здесь доступна настройка SSL-перенаправлений. Редирект настраивается за пару шагов:
- Заходим в раздел «Домены» → «WWW-домены».
- Выбираем кандидатуру для безопасного соединения и жмем кнопку «Изменить».
- Ставим галку напротив пунктов «Защищенное соединение (SSL)» и «Перенаправлять HTTP-запросы в HTTPS», жмем OK.
Переадресация с HTTP на HTTPS для семерки самых ходовых хостингов
Редирект без хостинга можно оформить на стороне браузера, используя HTML и JavaScript, но работать такая переадресация будет медленнее. Оформление редиректов на стороне сервера предпочтительнее, т.к. не тормозит скорость загрузки.
Рассмотрим, как настроить редирект с http на https на разных хостингах, изменяя код в файле .htaccess. Здесь команды задаются в модуле mod_rewrite двумя параметрами:
- RewriteCond — это условие, при котором должна выполняться директива RewriteRule.
- RewriteRule — непосредственно директива.
Для разных хостингов параметры прописываются по-разному. Кириллические домены в зоне .рф или .рус нужно перевести в формат Punycode (например, на сервисе Punycode converter).
Найти файл .htaccess можно двумя путями, предварительно разрешив отображение скрытых файлов:
- Через FTP: корневая папка домена → каталог public_html → .htaccess. (.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Подробнее здесь: Настройка сайта для работы по HTTPS.
jino.ru
RewriteEngine On # Если этой строки нет выше
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]Подробнее здесь.
Синтаксис серверного редиректа на HTTPS
Единого синтаксиса для настройки серверного редиректа с http на https-протокол через htaccess нет, поэтому иногда приходится перебирать варианты, проверяя, насколько корректно отработает каждый из них. Если на вашем хостинге нет четких указаний по прописыванию директивы, предлагаем 8 вариантов синтаксических конструкций. Какая-нибудь из них да выстрелит.
№
RewriteCond
RewriteRule
1
%{HTTPS} =off
(.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
2
%{SERVER_PORT} !^443$
. /название_вашей_страницы.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Внимание! Не забудьте вместо фразы «название_вашей_страницы» подставить нужные данные на латинице.
Проверка редиректа
После настройки редиректа с http на https нужно проверить, как он отрабатывается в разных поисковых системах. Самая поверхностная проверка: ввести в адресную строку браузера URL с протоколом http, если редирект сработает, то откроется сайт с правильным адресом https и значком закрытого замка. Но это еще не значит, что переадресация настроена корректно, поэтому рекомендуем более вдумчивую проверку с помощью онлайн-сервиса Redirect Checker.
Здесь можно проверить, не работает ли редирект с https на http как-то криво. Если все настроено без косяков, в результатах вы увидите надпись «301 Moved Permanently», если что-то пошло не так и вместо правильного 301 отрабатывается циклический 302 редирект, сервис сообщит об ошибке. Это значит, что надо подбирать другие строчки кода, пока все не получится.
При проверке нашего сайта сервис ошибок не нашел
Для проверки переадресации в разных поисковых системах выберите нужную из выпадающего списка Sel User-Agent.
Есть и другие бесплатные сервисы для быстрой проверки редиректов:
- Tools.otzyvmarketing.ru/proverka_redirekta — выдает отчет с расширенной информацией:
- prcy-info.ru/index.php/redirect-checker,
- seogift.ru/tools/proverka-perenapravlenij-sajta/ — инструмент показывает цепочки редиректов и позволяет проводить массовую проверку URL:
Отсутствие или некорректная настройка 301 редиректа с устаревшей записи домена http на обновленную https может негативно сказаться на ранжировании, т.к. поисковик будет воспринимать страницы с одинаковым контентом как дубли и понижать сайт в выдаче.
Вывод
Работа сайта по защищенному протоколу SSL — это не только забота о безопасности своего ресурса для пользователей, но и важный фактор ранжирования в поисковых системах. Корректная настройка постоянного 301 редиректа с http-адреса на безопасный протокол https позволяет избежать проблем в продвижении сайта и санкций поисковиков за дубли страниц. Пользователи также отдают предпочтение сайтам с защищенным соединением — никто не хочет утечки конфиденциальной информации.
Увидев вместо иконки закрытого замка предупреждение «Не защищено», пользователь, скорее всего, предпочтет сайт конкурента, работающего по безопасному протоколу.
Настраивать переадресацию можно разными способами, но предпочтительнее делать это на стороне сервера: или в панели управления хостинга, или, если там нет быстрой настройки, через файл .htaccess. В этом случае редирект не будет тормозить загрузку страниц.
После настройки нужно проверить корректность работы переадресации, если все сделано правильно, то в отчете появится запись о 301 редиректе, а страницы будут отдавать код 200.
Настроить в WordPress редирект на HTTPS за 5 минут
После подключения SSL — сертификата, необходимо правильно настроить в WordPress редирект на https. В противном случае будут плачевные последствия.
Начальные знания
19.1k.
Сделаем при помощи нескольких функций: настройка параметров в админке, назначение правил в htaccess и установка плагина. Если этого не сделать, то сайт будет открываться сразу по двум адресам, что приведет к появлению дублей и понижению позиций. В статье я расскажу 3 простых шага, которые помогут избежать этой ситуации.
Содержание
- Что такое протокол HTTPS
- Почему важно перейти на HTTPS
- Общие принципы перехода на HTTPS
- Изменение префиксов в панели вордпресса
- Перенаправление остальных элементов
- Редирект на HTTPS 301 в .htaccess
- С помощью плагина Easy HTTPS Redirection
- Какие проблемы могут возникнуть при переходе на HTTPS
- Чеклист всех операций
Протокол HTTPS (расшифровка Hypertext Transport Protocol Secure) — это технология, шифрующая информацию между сайтом и пользователем. При вводе информации посетителем и выводе ее на экран, шифруется все, что дает преграду злоумышленникам похитить личные данные.
Технологии применяемые в HTTPS
- Шифрование. Каждое действие шифруется
- Безопасность. При изменении и добавлении новых данных они сохраняются
- Аутентификация. Блокирует небезопасные перенаправления
Причин для перехода на HTTPS может быть несколько.
- Первая — это небольшой приоритет в выдаче поисковых систем, сообщаете ПС что вы заботитесь о безопасности и конфиденциальности посетителей.
- Вторая — при сборе контактов (в той же форме комментирования), нужно применять протокол, так как перехватить информацию легко. Часто посетители авторизуются на сайте при помощи социальных сетей.
- Третья — оплата в интернет магазинах. Если имеется интернет магазин без SSL — сертификата он будет заблокирован и помечен, как небезопасный в любом браузере. Google и Яндекс давно отслеживают такие ресурсы и как минимум не дают им первые позиции, и как максимум помечают как опасные.
Принцип перехода прост, вы покупаете, либо берете бесплатный SSL — сертификат, устанавливаете на сайт (сами или помогает поддержка хостинга), настраиваете элементы для корректного отображения и радуетесь зеленой полоске в браузере. По шагам выглядит так:
- Выбрать платный или бесплатный серитификат
- Получить персональный ключ
- Оформить файл с протоколом в онлайн — центре сертификации
- Установить и привязать сертификат к домену
- Настроить движок и изменить ссылки
Для редиректа на HTTPS главной страницы в панели WordPress заходим в настройки, в раздел общие и прописываем там дополнительную букву S, как показано на скриншоте. Теперь заходите на сайт по протоколу, по заранее известным логину и паролю.
Меняем адрес сайта в админке WordPress
Перенаправление остальных элементовПосле смены адреса и подключив перенаправление при входе в админ-панель придется по новой вводить логин и пароль. Совет если не помните то заранее их восстановите.
Чтобы сделать 301 редирект остальных элементов (не записей), картинок, ссылок, таблиц и т.д. нужно установить ненадолго плагин Velvet Blues Update URLs. Чтобы установить плагин:
- Перейдите в раздел плагины > добавить новый
- В поле поиск введите название
- На карточке нажмите кнопку активировать
Устанавливаем и вводим настройки, заходим в раздел инструменты > Update URLs. В поле Old URL вводим адрес сайта без протокола, а New URL с ним.
Перезапись ссылокДалее переходим ко второму шагу и отмечаем все галочки кроме последней. Этим действием перезапишем все имеющиеся на сайте объекты, в которых могут содержаться URL без протокола, и нажимаем Update.
Выставляем элементы ссылок для измененияИнструмент начнет работу, и после покажет сводную таблицу сколько элементов изменено. После проделанной операции, можно деактивировать и удалить его из WordPress.
Таблица количества измененных URLРедирект на HTTPS 301 в .htaccessЗавершающим этапом является добавление в WordPress 301 перенаправления в файле htaccess. Он регулирует работу Apache, определим существует ли этот файл на вашем сайте.
Apache — оболочка на чем работает сервер, это как на компьютере стоит Windows. Некоторые хостинги пренебрегают добавлением в репозиторий ресурса, пытаясь управлять с помощью сервера.
Идем в корень WordPress и смотрим. Если существует, то открываем его для редактирования, если нет, то создаем. Нужно подключиться к сайту через FTP соединение, мы используем FileZilla. Войдя в корневой каталог (определяем корень по папкам wp-content и wp-admin), находим htaccess и кликом правой кнопкой мыши выбираем “Просмотр/Правка”.
файл .htaccess в программе FileZillaВ появившемся окне программы, вводим конфигурацию написанную ниже после begin wordpress или перед end wordpress. Сохраняем нажатием CTRL+S, либо через меню файл-сохранить. Код подходит и для мультисайта с поддоменами.
RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Куда вставлять код для редиректа HTTPSПосле сохранения изменений FileZilla запросит разрешение на перезапись файла htaccess, соглашаемся и программа начнет процесс загрузки.
Это позволит имеющиеся страницы WordPress перевести на https протокол и выводить их автоматически с правильным префиксом. Для проверки работы, зайдите на любую страницу и сотрите букву S, нажмите enter, если редирект с http на https WordPress сработал, то продолжаем.
С помощью плагина Easy HTTPS RedirectionНаиболее простой метод установить плагин, мы советуем Easy HTTPS Redirection. В данном случаем остальные действия делать не нужно. Установив, переходим к настройке.
разбор панели Easy HTTPS Redirection- Enable automatic redirection — включает переадресацию
- Apply HTTPS redirection on — первый пункт перенаправляет весь ресурс, во втором можно выставить для отдельных страниц
- Force resources to use HTTPS URL — данная галочка может дать множество битых ссылок, она принудительно перезаписывает ссылки в статьях. Не все сервисы и ресурсы перешли на безопасное соединение.
Проблем при переходе на HTTPS немного. Первая причина не убраны со страницы все исходящие и внутренние ссылки с протоколом HTTP. Далее редиректы, неправильно прописанные в htaccess. Не знание специфики WordPress, что и где нужно менять. Что делать в таких ситуациях:
- Проверить всё ли правильно сделано, в админке и в файле htaccess
- Если всё хорошо, то проверить работу во всех браузерах, хром, опера, мозилла и т. д. Возможно проблема в неисправном браузере либо в расширениях, которые не дают сработать редиректу.
- Возможны неправильные настройки сервера или SSL — сертификата, с этой проблемой скорее всего придется обратиться в поддержку хостинга. Если ошибка не на их стороне, то к поставщикам сертификата.
Если удобнее учится по видео, то смотрите наш обучающий ролик.
Чеклист всех операций- Меняем в панели HTTP на HTTPS
- Заменяем все ссылки на новые с буквой S
- Прописываем правила переадресации в htaccess
Мы смогли поставить редирект на HTTPS в cms WordPress и сертификат работает правильно. После всех операций, сайт должен быстро проиндексироваться поисковыми системами и обновлен в выдаче.
Работает ли микроразметка в Вашем плагине?
Судя по инструментам проверки в Google — да!
Пожалуйста, оцените материал:
Валентин
Давно занимаюсь и разрабатываю сайты на WordPress. Считаю что лучшего решения для ведения бизнеса не найти, поэтому считаю долгом делиться информацией с остальными.
Редирект на https для разных хостингов (код для htaccess 301 редирект)
- Теги
- Обратная связь
- Партнерская программа
- Скидки и акции
- Рекламодателям
- Напишите нам
- Главная
- Статьи
- Редирект на https для разных хостингов (код для htaccess 301 редирект)
SeoRuns. ru Полезные статьи Просмотров: 7826
В данной статье мы опишем как можно установить редирект на https в htaccess на различных хостингах, что бы при входе на любую страницу сайта без https был автоматический редирект на ту же страницу только с https.
В последнее время очень много сайтов переводится на https так как поисковые ситемы начинают выше ранжировать сайты с ssl сертификатами. Многие владельцы сайтов осуществляют перевод на https не верно и думают, что для перевода достаточно просто утановить сертификат на хостинге забывая о том, что необходимо еще и сам сайт оптимизировать под https.
Невозможно сказать, что придется делать с тем или иным сайтом для перевода на https, так как у всех в процессе перевода взникают разные неприятности. Как правило хороший сайт, с правильно сделанным шаблоном требует минимального вмешательства и достаточно просто заменить ссылки в базе данных на https (это делается только в случае если на сайте используются абсолютные ссылки когда все указывается с протоколом http), указать ссылку на карту сайта в robots и настроить 301 редирект на https всех страниц в htaccess, не забывая при этом сделать исключение для robots. txt что бы он был доступен по обоим протоколам и http и https как того требудет яндекс.
Бывают и сложные сайты, где неверно сделан шаблон или плагины которые пытаются грузить картинки, стили или скритпы по http протоколу и соответственно либо на сайте сбиваются стили, либо показывается предупреждение, что содержимое защищено не полностью. В таком случае если сами не понимаете что делать, лучше обратиться к профессионалам так как даже не верно заменив любые ссылки можно повредить шаблон или плагин, а так же нарушить работу сайта.
Нашей командой было переведено за последний год на https уже более 500 сайтов и не редко при переводе возникает вопрос какой код редиректа ставить в htaccess. Казалось бы все просто и таких кодов пално на просторах интернета, но не тут то было по причине того, что каждый хостинг использует свои типы редиректов и они отличаются так как на всех хостингах разная конфигурация вебсервера. Не каждый хостинг публикует свои коды в справке и иногда приходится писать в поддержку, что бы они сообщили какой тип кода используется на вебсервере либо делать все методом проб. Мы собрали множество кодов редиректов с разных хостингов и хотим предоставить их в данной статье.
Что бы не писать коды в самой статье мы все занесли в txt файл который откроется без проблем на любом устройстве. В файле представлены коды редиректов для таких хостингов как: webhost1 (вебхост1), 1gb (1гб), mchost, timeweb (таймвеб), sprinthost (спринтхост), nic (ник), shneider-host, zomro, sweb, link-host, jino, beget, hostia, masterhost, hostland.
Обратите внимание что в файле для некоторых хостингов указано 2 или даже 3 типа редиректов. Это значит что на данном хостинге используются на разных тарифах разные панели с отличными настройками вебсерверов, поэтому устанавливайте поочереди. Ниже можете скачать файл с кодами редиректов.
Скачать коды редиректов на https
Имя файла: Коды редиректов на https79466 428 2 3.86KB
Как проверить сайт после перевода и редирект на httpsВ кратце напишем по пунктам, всю последовательность перевода на https, что бы любому, даже начинающему пользователю была понятна последовательность действий.
- Покупка и установка ssl сертификата на хостинге. Многие хостинги предоставляют бесплатные ssl сертификаты которые ставятся просто нажатием кнопки.
- Без включения редиректов проверить сайт что бы он был доступен по протоколу https. Делается это для того что бы сайт оставался работоспособным на время перевода на https, так как на многих сайтах пока не внесешь изменения в конфигурационные файлы все скрипты, стили и картинки грузятся по http и соответсвенно сайт выглядит ужасно. Что необходимо менять зависит от движка и есть такие где обязательно необходимо править конфиги, а есть где сайт идеально работает и достаточно просто установить редирект и настроить robots и карту сайта.
- После того как привели в порядок и все скрипты и стили подключены как положено по https обязательно проверьте ссылки в базе данных, что бы они были с https, так как если этого не сделать, то некоторые страницы сайта всегда будут отвечать редиректами для поисковиков. Объясняется это тем что поисковики гуляют по сайту и переходят по ссылкам и если они в меню, и других местах сайта стоят без https то всегда будет осуществляться редирект на https который Вы позже установите в htaccess. На многих движках ссылки в базе данных хранятся в относительном виде без указания протокола и домена, там где они сохраняются в абсолютном виде можно произвести замену ссылок выгрузив базу данных или если позволяет cms найти соответствующий плагин для поиска и замены ссылок в базе данных.
- После того как все заменили и Ваш сайт открывается по https без каких либо предупреждений в браузере и консоли можно отредактировать карту сайта. Если у Вас карта динамическая генерируемая движком как правило все ссылки в ней уже будут с https, но на некоторых движках необходимо в настройках указать тип протокола при генерации карты.
- Редактируем robots.txt добавляя в него https в ссылку на карту сайта. Секцию host отменили давно по этому у кого она есть можете удалить.
- Далее установливаем редирект в файл .htaccess который подходит для Вашего хостинга.
- Проверяет корректность работы редиректа на https и для этого в поиске пишем site:adres-vachego-site.ru (после : пишите адрес Вашего сайта). В поиске Вы увидите все страницы Вашего сайта без https и при клике на любую из них у Вас должен сработать редирект на https. Обязательно проверьте в любом инструменте к примеру «ответ сервера яндекс» корректность редиректа. Для этого отройте его и установите ссылку на Ваш сайт с http:// и нажмите проверить. Редирект должен быть именно 301 который говорит поисковикам о смене адреса страницы. Бывают такие хостинги которые ошибочно ставят 302 редирект который говорит о временном перемещении страницы, Вам нужен именно 301.
- Далее идем в яндекс вебмастер и в разделе индексирование — переезд сайта делаем переезд на https. Добавлять www или убирать решайте сами. Но не забудьте что если Вы добавляете www или убираете в htaccess так же должен быть код редиректа с www либо не без него, что бы сайт всегда был доступен только по одному адресу. Когда Вы подадите заявку яндек покажет сообщение.
- В google вебмастере нужно просто добавить сайт с https и соответственно карту сайта. Старый с http позже можно будет удалить.
На этом все.
Если вдруг Вы столкнетесь с труностями при переводе пишите мы постараемся Вам помочь.
Так же мы постоянно будет добавлять коды редиректов для разных хостингов.
Если Вам попадется хостинг для которого у нас нет кода редиректа напишите нам и мы внесем его в список.
Relate Items:
- Полезные статьи
- Редиректы
- Назад
- Вперед
Авторизация
Запомнить меня
- Регистрация
- Забыли логин?
- Забыли пароль?
Популярные метки
- Выделенные сервера
- Proxy
- Полезные статьи
- Биржа доменов
- VPN
- Xrumer
- Анонимность
- Netpeak Checker
- Хрумер
- AllSubmitter
с http на https через .
htaccessспросил
Изменено 6 месяцев назад
Просмотрено 191 тысяч раз
Я просмотрел существующие вопросы, но не нашел ничего подходящего для меня.
В настоящее время я использую сайт с сертификатом Secure SSL. Доступ к нему можно получить по адресу https://www.example.co.uk. Проблема в том, что сайт также доступен по адресу http://www.example.co.uk — я не хочу, чтобы это было возможно. Мне нужно, чтобы он перенаправлял с http на https. 9(.*)$ https://example.co.uk/$1 [L,R=301]
Это прекрасно работает, когда пользователь вводит example.co.uk в свою адресную строку, но мне также нужно добавить какое-то условное выражение, чтобы, если пользователь вводит «www.example.co.uk» или «http: //www.example. co.uk».
Я пытался использовать что-то вроде [ИЛИ], но это приводило к ошибкам сервера.
Приветствуются любые помощь и предложения.
Удачи.
http .htaccess редирект https 9(.*)$ https://www.example.com/$1 [П, Л]
измените example.com на домен вашего веб-сайта
Учебное пособие по перенаправлению URL-адресов можно найти здесь — Перенаправление без www на www и с HTTP на HTTPS с использованием файла .htaccess
0
Попробуйте это, я использовал его, и он отлично работает
Options +FollowSymLinks RewriteEngine включен RewriteCond %{HTTPS} выкл. Правило перезаписи (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Попробуйте это: 9(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Спасибо https://www.reg.ru/support/hosting-i-servery/sajty-i-domeny/kak-dobavit-redirekt/redirekt-s-http-na-https (на русском)
Пробую весь приведенный выше код, но любой код не работает для моего веб-сайта. (.*)$ https://www.example.com/$1 [L,R=301] ЕслиМодуль> 9https://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R]
Есть лучшие и более безопасные способы убедиться, что весь ваш трафик проходит через
https
. Например, настроить два виртуальных хоста и перенаправить весь трафик с вашегоhttp
на вашhttps
хост. Подробнее об этом читайте в этом ответе здесь, на security.stackexchange.com .При настройке виртуального хоста для перенаправления вы можете отправлять статус 301 (постоянное перенаправление), чтобы браузер понимал, что все последующие запросы должны быть отправлены на https-сервер, на который он был перенаправлен. Следовательно, после первого ответа перенаправления дальнейшие http-запросы выполняться не будут. 9(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Приведенный ниже код при добавлении в файл
.htaccess
автоматически перенаправляет любой трафик, предназначенный для http:, на https:(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ЕслиМодуль> Я хочу, чтобы мой сайт был перенаправлен на
https://www.
с HTTPS и принудительное использованиеwww.
субдомен, но когда я обращаюсь кhttp://www.
(без HTTPS), меня не перенаправляет наhttps://www
с HTTPS.apache .htaccess мод-переписать перенаправление https
4
Чтобы сначала принудительно использовать HTTPS, вы должны проверить правильную переменную среды
%{HTTPS} off
, но ваше правило выше добавляетwww.
Поскольку у вас есть второе правило для примененияwww.
, не используйте его в первом правиле.RewriteEngine включен RewriteCond %{HTTPS} выкл. # Сначала перепишите на HTTPS: # Не ставьте www. здесь. Если он уже есть, он будет включен, если нет # последующее правило поймает его. RewriteRule . www\. [НЗ] RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
О проксировании
При некоторых формах проксирования, когда клиент подключается через HTTPS к прокси, балансировщику нагрузки, приложению Passenger и т. д., переменная
%{HTTPS}
никогда не может бытьна
и вызывать переписать петлю. Это связано с тем, что ваше приложение на самом деле получает простой HTTP-трафик, даже если клиент и прокси/балансировщик нагрузки используют HTTPS. В этих случаях проверьте заголовокX-Forwarded-Proto
вместо%{HTTPS}
переменная. Этот ответ показывает соответствующий процесс0
Ответ Михала сработал для меня, хотя и с одной небольшой модификацией:
Проблема:
, когда у вас есть сертификат безопасности одного сайта , браузер, который пытается получить доступ к вашей странице без https://www. (или в зависимости от того, на какой домен распространяется ваш сертификат) будет отображаться уродливый красный экран с предупреждением до того, как он даже получит перенаправление на безопасную и правильную страницу https. 9www\. [НЗ] RewriteRule .* https://www.example.com%{REQUEST_URI} [L,R=301]
Браузер переходит по адресу:
http://example.com
Затем перенаправляет на:
https://example.com
Затем перенаправляет на:
https://www.example.com
Слишком много запрос на сервер.
Большинство ответов даже приняты, у одного есть эта проблема.
Этот код имеет условие
[ИЛИ]
для предотвращения двойных изменений в URL! 9https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ### КОНЕЦ WWW и HTTPS5
Существует множество решений. Вот ссылка на вики apache, которая напрямую занимается этой проблемой. /?(.*) https://%{ИМЯ_СЕРВЕРА}/$1 [R,L] # Это правило будет перенаправлять пользователей из их исходного местоположения в то же место, но с использованием HTTPS. # т. е. с http://www.example.com/foo/ на https://www.example.com/foo/ # Начальная косая черта сделана необязательной, так что это будет работать как в httpd.conf # или контекст .htaccess 9(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Примечания: Убедитесь, что выполнены следующие шаги
- sudo a2enmod переписать
- перезапуск службы sudo apache2
- Добавьте отслеживание в ваш файл vhost, расположенный в /etc/apache2/sites-available/000-default.conf
<Каталог /var/www/html> Опционы Индексы FollowSymLinks MultiViews Разрешить переопределить все Порядок разрешить, запретить разрешить от всех Требовать все предоставленные Каталог> 9индекс\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Правило перезаписи. /index.php [Л] ЕслиМодуль> # ЗАВЕРШИТЬ WordPress
apache — перенаправление HTTPS на http с использованием htaccess
спросил
Изменено 6 месяцев назад
Просмотрено 29/(.*):NOSSL$ http://www.example.com/$1 [R=301,L]
Попытка 2
RewriteEngine вкл. RewriteCond %{HTTPS} на Правило перезаписи (.*) http://%{HTTP_HOST}%{REQUEST_URI}
Обе описанные выше попытки не удались. Какие-либо предложения?
апач .htaccess http https
Попытка 2 была близка к идеальной. Просто немного измените его:
RewriteEngine On RewriteCond %{HTTPS} на Правило перезаписи (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
UPDATE:
Приведенное выше решение работает с технической точки зрения. НО :
Уже несколько лет пользователь будет получать огромное предупреждение о том, что соединение не является частным. Этого и следовало ожидать: ни один из современных браузеров не будет молча переключаться с зашифрованного соединения на незашифрованное по понятным причинам… Вы не можете обойти такое поведение стандартных браузеров. Однако это не имеет ничего общего с самим перенаправлением. Так сегодня работает сеть, как пользователи защищены от преступных намерений.
17
Однако, если у вашего веб-сайта нет сертификата безопасности, он находится в среде общего хостинга, и вы не хотите получать «предупреждение» при запросе вашего веб-сайта через https, вы не можете перенаправить его с помощью htaccess . Причина в том, что предупреждающее сообщение срабатывает еще до того, как запрос будет передан в файл htaccess, поэтому вам нужно исправить это на сервере. Перейдите в /etc/httpd/conf.d/ssl.conf и закомментируйте часть о виртуальном сервере 443. Но есть вероятность, что ваш хостинг-провайдер не даст вам такого большого контроля. Таким образом, вам придется либо перейти на другой хост, либо купить SSL, чтобы предупреждение не срабатывало до того, как ваш htaccess получит возможность перенаправить. 9(.*)$ http://example.com/$1 [NC,L,R]
Перенаправить любой запрос (https://example.com/foo) от до http://example.com/foo .
$1 является частью регулярного выражения в шаблоне RewriteRule, оно содержит любое значение, которое было захвачено в (.+) , в этом случае оно захватывает полный request_uri после доменного имени.
[NC,L,R] — это флаги, NC делает регистр uri чувствительным, в запросе можно использовать как прописные, так и строчные буквы.
Флаг L указывает серверу прекратить обработку других правил, если текущее правило совпало. Важно использовать флаг L, чтобы избежать конфликта правил, когда в блоке больше одного правила.
Флаг R используется для внешнего перенаправления.
RewriteEngine включен RewriteCond %{SERVER_PORT} 443 Правило перезаписи (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
0
Разница между http и https заключается в том, что HTTPS-запросы отправляются через соединение с шифрованием SSL. Соединение с шифрованием SSL должно быть установлено между браузером и сервером до того, как браузер отправит HTTP-запрос.
Запросы HTTPS на самом деле являются запросами HTTP, которые отправляются через зашифрованное соединение SSL. Если сервер откажется установить зашифрованное соединение ssl, у браузера не будет соединения для отправки запроса. Браузер и сервер не смогут общаться друг с другом. Браузер не сможет отправить URL-адрес, к которому он хочет получить доступ, и сервер не сможет ответить перенаправлением на другой URL-адрес.
Так что это невозможно. Если вы хотите отвечать на https-ссылки, вам нужен ssl-сертификат.
RewriteCond %{HTTP:X-Forwarded-Proto} =https
3
Ваш код правильный. Просто поместите их внутрь
Пример:
SSLEnable RewriteEngine включен RewriteCond %{HTTPS} на Правило перезаписи (.*) http://%{HTTP_HOST}%{REQUEST_URI} виртуальный хост> Force HTTPS с файлом .htaccess – Центр поддержки хостинга InMotion
Принудительно использовать HTTPS-соединения с .htaccess, чтобы убедиться, что каждое соединение является безопасным. Посетители вашего веб-сайта должны получать доступ к вашему сайту, используя соединение с шифрованием SSL для дополнительной безопасности, доступности или соответствия требованиям PCI. Если вы не знакомы с SSL, наша статья «Что такое SSL и почему это важно?» поможет вам ускориться. Простого наличия SSL недостаточно, если кто-то может случайно получить доступ к вашему сайту через незащищенное соединение. Прочтите ниже, чтобы узнать, как принудительно установить HTTPS-подключения на вашем сайте.
- Зачем принудительно использовать HTTPS для безопасного соединения?
- Принудительное использование HTTPS с помощью .htaccess
- Перенаправление всего веб-трафика
- Перенаправление только одного указанного домена
- Перенаправление указанной папки
Зачем принудительно использовать HTTPS для безопасного соединения?
Хостинг InMotion включает бесплатный SSL-сертификат для всех планов хостинга бизнес-класса. Этот SSL легко активировать в Панели управления учетной записью (AMP) в разделе Моя учетная запись > Управление бесплатным SSL 9.0086 .
Мы настоятельно рекомендуем, чтобы все посетители вашего сайта получали к нему доступ через защищенное соединение. На данный момент подавляющее большинство сайтов работают через SSL, и поисковые системы могут оштрафовать вас, если вы не используете SSL. Что еще более важно, Google теперь, похоже, отдает приоритет результатам поиска с безопасным соединением, а не без него.
Заставить посетителей использовать SSL можно с помощью различных плагинов или вручную отредактировав файл .htaccess с помощью mod_rewrite.
Принудительное использование HTTPS с помощью .htaccess
Файл .htaccess — это файл конфигурации, используемый на серверах Apache. Это «точечный файл», так как точка в начале имени файла означает, что он по умолчанию скрыт от просмотра. Если вы не видите его, убедитесь, что вы можете просматривать скрытые файлы в файловом менеджере cPanel.
ПРИМЕЧАНИЕ. Для сайтов WordPress рассмотрите вместо этого подключаемый модуль SSL, такой как Really Simple SSL .
Перенаправить весь веб-трафик 9/\.
/[0-9(.*)$ https://www.example.com/$1 [R=301,L]ПРИМЕЧАНИЕ. Обязательно замените example.com доменным именем, которое вы пытаетесь перевести на https . Кроме того, вам необходимо заменить www.example.com на ваше фактическое доменное имя.
Перенаправить указанную папку
Если вы хотите принудительно использовать SSL для конкретной папки , вставьте приведенный ниже код в файл .htaccess, размещенный в этой конкретной папке: , добавьте это выше, где уже есть правила с похожим начальным префиксом. 9(.*)$ https://www.example.com/folder/$1 [R=301,L]
ПРИМЕЧАНИЕ. Убедитесь, что вы изменили ссылку папки на фактическое имя папки. Затем обязательно замените www.example.com/folder своим фактическим именем домена и папкой, для которой вы хотите принудительно включить SSL.
Если вы настраиваете SSL для сайта WordPress, обязательно ознакомьтесь с нашим руководством по настройке SSL на сайте WordPress. Если вам нужна дополнительная информация о файле .htaccess, взгляните на официальную документацию Apache .htaccess. Если ваш браузер не указывает, что у вас есть SSL, даже после его настройки, обязательно ознакомьтесь с нашим руководством по устранению неполадок с блокировкой SSL.
Как использовать .htaccess для перенаправления на https в cPanel — Сертификаты SSL
Как использовать .htaccess для перенаправления на https в cPanel
- Типы редиректов
- Установка правила перезаписи в .htaccess: варианты использования
- Включение перенаправления HTTPS для всех сайтов в учетной записи cPanel
- Отключение приложения правила перезаписи для определенного сайта
- Перенаправление одного сайта с http:// на https:// или https://www
- Принудительное использование «https://example.com» или «https://www.example.com»
- Принудительное использование «http://» или «http://www.»
- Перенаправление на/с поддомена
- Перенаправление с http:// на https:// или https://www в режиме гибкого SSL CloudFlare.
- Включение HTTPS для определенной подпапки
- Принудительное использование HTTPS для определенной страницы
- Настройка перенаправления для определенного имени файла вне зависимости от его местоположения
- Частичный редирект на https://
- Как указать код состояния перенаправления в правиле перезаписи
После установки SSL-сертификата и доступа к сайту через https:// , вы можете сделать его доступным через https:// по умолчанию. Другими словами, набрав domain.com в веб-браузере, пользователь должен быть перенаправлен на https://domain.com для безопасного доступа к сайту.
В этой статье мы рассмотрим некоторые из основных типов HTTPS-перенаправления и покажем, как использовать .htaccess для принудительного HTTPS в Cpanel.
Сам файл можно найти, если зайти в cPanel >> File Manager . Там найдите корень документа вашего сайта. Для основных доменов cPanel папка обычно называется «public_html». Если веб-сайт является надстройкой, вы можете найти его корень документа в разделе Дополнительные домены .
Когда вы найдете папку, файл .htaccess может уже быть там. Чтобы еще раз проверить это, нажмите Настройки в правом верхнем углу и отметьте Показать скрытые файлы (dotfiles) .
Если файл не появился, смело создайте его, нажав +Файл . Не забудьте назвать файл .htaccess , начиная с точки.
Чтобы открыть файл, щелкните его правой кнопкой мыши, затем выберите Редактировать . В следующем всплывающем окне также нажмите Изменить .
Типы перенаправлений
Когда дело доходит до настройки правила перезаписи, полезно знать, что существует постоянный тип перенаправления и временный. Каждый тип обрабатывается поисковыми системами и веб-браузерами по-разному и имеет свой код состояния, который можно явно указать в правиле перезаписи:
- Код состояния 301 «Перемещен навсегда» (постоянное перенаправление) означает, что запрошенный ресурс перемещен в новое место на постоянной основе, поэтому поисковые системы не должны учитывать ссылки на предыдущее место и индексировать новое. Веб-браузеры, в свою очередь, сохранят новый URL-адрес в кеше, поэтому отдают ему приоритет над первоначальным URL-адресом.
- Код состояния 302 «Временно перемещен» (временное перенаправление) означает, что перенаправление установлено на ограниченный период времени. Поисковые системы в этом случае должны учитывать оба местоположения как равные, а исходное останется действительным. Соответственно, браузеры не будут кэшировать новый URL-адрес, и перенаправление будет выполняться каждый раз, когда запрашивается первоначальный URL-адрес.
ПРИМЕЧАНИЕ . Включение перенаправления 302 на длительный период времени может значительно снизить рейтинг веб-сайта в результатах поиска. Что касается перенаправления HTTP-HTTPS, все запросы к сайту распределяются между http://domain.com и https://domain.com, поскольку оба они индексируются поисковыми системами отдельно. Поэтому в большинстве случаев код состояния 301 предпочтительнее для перенаправлений HTTP-HTTPS.
В следующем разделе мы опишем, где именно должен быть указан код состояния.
Настройка перезаписи .htaccess: варианты использования
ПРИМЕЧАНИЕ : указанные ниже директивы работают по своему собственному синтаксису. Изменение любого символа или символа может привести к неправильной работе или сбою правила перезаписи. Чтобы все было ясно, мы выделили части, которые можно изменить, красным цветом (в основном там, где должно быть размещено определенное доменное имя).
Давайте рассмотрим наиболее распространенные способы настройки перенаправления с HTTP на HTTPS.
Включение перенаправления HTTPS в Cpanel для всех сайтов
ПРИМЕЧАНИЕ . Если у вас уже есть какой-то код в вашем .htaccess, добавьте его над правилами с таким же начальным префиксом.
Чтобы перенаправить все сайты в учетной записи cPanel, необходимо добавить один из следующих блоков в файл .htaccess в домашнем каталоге вашей cPanel (‘/home/cpanelusername/’): 9/?(. *) https://%{SERVER_NAME}/$1 [R,L]
Этот блок включает возможности перезаписи, проверяет, что исходный запрос еще не содержит https://, и перезаписывает весь запрошенный URL-адрес. , заменив http:// на https:// (например, http://domain.com/subfolder/index.php будет заменено на https://domain.com/subfolder/index.php ).
b)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]Этот блок работает так же, как и предыдущий, только с помощью другого синтаксиса. Можно использовать любое из вышеупомянутых правил перезаписи, чтобы перенаправить все сайты в учетной записи cPanel.
Отключение применения правила перезаписи для определенного сайта
Если вам нужно настроить перенаправление для всех сайтов в учетной записи cPanel, кроме example.com, указанный ниже блок кода можно добавить в .htaccess в домашнем каталоге:
9/?(.*) https://%{ИМЯ_СЕРВЕРА}/$1 [П, Л]
Первое условие в блоке сопоставляет запрошенный URL-адрес с доменным именем, включенным в условное значение (тот, который НЕ должен перенаправляться), и останавливает переписывание, если они совпадают. example\.com$ [ИЛИ] 9www\.example\.com$
RewriteRule .* https://www.example.com%{REQUEST_URI} [R=301,L]
.htaccess Force ‘https://’ или ‘https://www
а) Перенаправляет все запросы http:// и https:// на одну и ту же страницу, но с https://example.com (также перенаправляет с https://www.example.com на https://example.com)
Перезаписать двигатель на 9www\.example\.com$
RewriteRule .* https://example.com%{REQUEST_URI} [R=301,L]
b) Перенаправляет все запросы http:// и https:// на одну и ту же страницу, но с https://www (также перенаправляет https://example.com на https://www.example.com)
Перезаписать двигатель на
RewriteBase /RewriteCond %{HTTPS} !=on 9пример\.com$
RewriteRule .* https://www.example.com%{REQUEST_URI} [R=301,L]
.htaccess Force ‘http://’ или ‘http://www.
‘а) Перенаправляет всех посетителей сайта на одну и ту же страницу, но с принудительной переадресацией http:// + http://www.example. перейти на http://example.com
Перезаписать двигатель на
RewriteBase / 9www\.example\.com$
RewriteRule .* http://example.com%{REQUEST_URI} [R=301,L]
б) Перенаправляет всех посетителей сайта на одну и ту же страницу, но с принудительным http://www + перенаправляет с http://example.com на http://www.example.com
Перезаписать двигатель на
RewriteBase /RewriteCond %{HTTPS} =на 9пример\.com$
RewriteRule .* http://www.example.com%{REQUEST_URI} [R=301,L]
Перенаправление на/с поддомена
а) Перенаправление с example.com или www.example.com (как http://, так и https://) на определенный поддомен
Перезаписать двигатель на
RewriteBase /RewriteCond %{HTTP_HOST} ^example\. com$ [ИЛИ] 9поддомен\.example\.com$
RewriteRule .* https://www.example.com%{REQUEST_URI} [R=301,L]
Перенаправление с http:// на https:// или https://www в режиме CloudFlare Flexible SSL
а) Базовое перенаправление с http:// на https://, но этот блок следует использовать вместе с CloudFlare Flexible Режим SSL
Перезаписать двигатель на 9www\.example\.com$
RewriteRule .* https://example.com%{REQUEST_URI} [R=301,L]
б) То же правило, но переадресация на https://www
Перезаписать двигатель на
RewriteBase /RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP:X-Forwarded-Proto} !https 9www\.example\.com$
RewriteRule .* https://www.example.com%{REQUEST_URI} [R=301,L]
Включение HTTPS для определенной подпапки
Иногда может потребоваться перенаправить определенную часть веб-сайта, расположенную в определенной подпапке, оставив остальную часть сайта без изменений. Для этого вставьте в .htaccess следующий блок:
Перезапись двигателя на
RewriteCond %{HTTPS} !=on 9тест/пример\.html$ https://www.example.com/test/example.html [R,L](в приведенном выше примере «тест» — это рассматриваемая подпапка)
Настройка перенаправления для определенного имени файла, независимо от местоположения
Если у вас есть несколько страниц с одинаковым именем, расположенных в разных подпапках ( пример index.html используется ниже), вы можете включить перенаправление HTTPS для всех сразу. Сделайте это, применив набор правил, как показано ниже:
Перезаписать двигатель на
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_FILENAME} index.html
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]Только страницы с именами файлов, которые соответствуют значению параметра {REQUEST_FILENAME}, будут перенаправлены на HTTPS.
Частичная переадресация на https://
а) Перенаправляет весь сайт на https:// кроме одной страницы (example. example\.com$ 9/some_https_page\.html$
RewriteRule .* https://example.com%{REQUEST_URI} [R=301,L]
Как указать код состояния перенаправления в правиле перезаписи
Каждое правило перезаписи заканчивается так называемыми «флагами перезаписи» (указанными в квадратных скобках, например [R,L]). Эти флаги помогают контролировать правильность выполнения процесса перезаписи. Чтобы установить редирект с кодом состояния 301 (постоянный), вам нужно будет присвоить этот код R-флагу в скобках, добавив «= 301».
ПРИМЕЧАНИЕ : Если для R-флага не указано значение, по умолчанию будет выполнено перенаправление с кодом состояния 302.После завершения с помощью этого инструмента можно проверить функционирование перенаправления и его код состояния.
Как принудительно включить HTTPS с помощью .htaccess
Если вы установили SSL-сертификат для своего домена, следующим шагом должна быть настройка приложения для обслуживания всего веб-трафика через HTTPS.
В отличие от HTTP, где запросы и ответы отправляются и возвращаются в виде открытого текста, HTTPS использует TLS/SSL для шифрования связи между клиентом и сервером.
Существует несколько преимуществ использования HTTPS по сравнению с HTTP, например:
- Все данные шифруются в обоих направлениях. В результате конфиденциальная информация не может быть прочитана в случае перехвата.
- Chrome, Firefox и все другие популярные браузеры пометят ваш сайт как безопасный.
- HTTPS позволяет использовать протокол HTTP/2, что значительно повышает производительность сайта.
- Google предпочитает веб-сайты HTTPS. Ваш сайт будет лучше ранжироваться, если будет обслуживаться через HTTPS.
Перенаправление может быть установлено либо на уровне приложения, либо на уровне сервера. В этой статье объясняется, как перенаправить HTTP-трафик на HTTPS с помощью файла
.htaccess
.Если у вас есть корневой доступ SSH к серверу Linux, на котором работает Apache, предпочтительным способом является настройка перенаправления в файле конфигурации виртуального хоста домена. В противном случае вы можете настроить перенаправление в файле домена
.htaccess
. Сервер Apache читает.htaccess
при каждом запросе страницы, что замедляет работу веб-сервера.Большинство панелей управления, таких как cPanel позволяет вам принудительно перенаправить HTTPS с помощью графического пользовательского интерфейса.
Перенаправление HTTP на HTTPS с использованием
.htaccess
#.htaccess
— это файл конфигурации для каждого каталога для веб-сервера Apache. Этот файл используется для определения того, как Apache обслуживает файлы из каталога, в котором он находится, а также для включения/отключения дополнительных функций.Вот что делает каждая строка кода:
-
RewriteEngine On
— включает возможности перезаписи и позволяет нам использовать правила перезаписи. -
RewriteCond %{HTTPS} off
— Проверяет, относится ли соединение к типу HTTP-запроса. (.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] — перенаправить все HTTP-запросы на HTTPS с кодом состояния 301 (перемещено навсегда). Это правило заменитhttp://example.com/about
наhttp://example.com/about
илиhttp://www.example.com/about
наhttps://www.example. .com/about
Если в файле есть другие правила, добавьте код перезаписи вверху файла.
Вот оно! После добавления этих строк сохраните файл и обновите браузер. Все HTTP-запросы должны быть перенаправлены на HTTPS. 9(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
-
HTTP_HOST
— это имя хоста, которое посетитель запрашивает при доступе к сайту. Эта переменная представляет ваше доменное имя. -
REQUEST_URI
— это URI, который используется для доступа к странице.
Перенаправление HTTP на HTTPS и WWW на не-WWW #
Доступ к любому веб-сайту можно получить по двум URL-адресам: с префиксом www (например, www.
- Tools.otzyvmarketing.ru/proverka_redirekta — выдает отчет с расширенной информацией: