Переадресация с http на https


Если на своём домене вы используете SSL-сертификат и у вас появилась необходимость переадресовывать все запросы по протоколу HTTP на HTTPS, то добавьте в в начале файла .htaccess следующие строчки:

  RewriteEngine On  RewriteCond %{REQUEST_URI} !^/robots.txt$  RewriteCond %{HTTP:X-Forwarded-proto} !^https$  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Для правильной работы вашего сайта по протоколу https необходимо для элементов, которые открываются по небезопасному протоколу http, заменить ссылки.
Например, если у вас указан путь к определенному контенту таким образом: http://ваш-домен.ru/banner.gif, то нужно поменять адрес на https://ваш-домен.ru/banner.gif
Для элементов, которые загружаются с внешних серверов, также необходимо изменить ссылки. При этом важно чтобы сайт, где расположен элемент, также использовал валидный SSL сертификат.

Обязательно переключить свои CMS для работы по защищенному протоколу.

Если вы используете CMS Joomla, то отредактируйте файл configuration.php и пропишите правильные значения в следующих строчках:
было:

  public $live_site ='http://ваш-домен.ru';  

стало:

  public $live_site ='https://ваш-домен.ru';

было:

  public $force_ssl = '0';

стало:

  public $force_ssl = '1';

 

Если вы используете WordPress, то зайдите в админку своего сайта, откройте раздел "Настройки" -> "Общие" и в полях "Адрес сайта" и "Адрес WordPress" поменяйте протокол на https.

Если вы используете CMS 1C-Bitrix, то настройте https-соединение по инструкции от разработчиков.

В OpenCart откройте панель управления вашим магазином и перейдите в раздел "Система" -> "Настройки"  на вкладке Сервер выберите Использовать SSL: Да. В файле config.php, который расположен в корневой папке магазина и в директории /admin, замените все ссылки http:// на https://.

В Drupal (до 8 версии) откройте файл /sites/default/settings.php и добавьте следующую строчку:

  $conf['https'] = TRUE;  

mchost.ru

Переадресация на https через htaccess

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

Как пользоваться Notepad++ и настроить для него FTP-подключение я рассказывала в одной из прошлых статей, с которой вы можете ознакомиться по этой ссылке:

Редактирование файлов сайта в Notepad++

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

Варианты написания серверного редиректа для HTTPS

Мне удалось найти семь основных вариантов, которые используют для настройки редиректа для HTTPS протокола:

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

После вставки одного из этих вариантов в файл .htaccess, сохраняете изменения.

Проверка редиректа


Затем, для того что бы проверить работает он или нет, переходим в браузер и в адресной строке вводим адрес нашего сайта с протоколом HTTP. Если перенаправление сработает, то у вас должна будет открыться страница вашего сайта с протоколом HTTPS.

Так же, вы можете воспользоваться одним из онлайн-сервисов, которые позволяют просмотреть правильность выполнения редиректа. Например, Redirect Checker. Для выполнения проверки вам нужно:

  1. 1.Перейти на страницу онлайн-сервиса по этой ссылке
  2. 2.В поле для ввода указать адрес, с которого должно осуществляться перенаправление в формате http://имя-сайта.ру .
  3. 3.А затем нажать на кнопку «Analyse».

В результате сервис вам выдаст отчет о правильности работы перенаправления. В моем случае редирект работает не правильно:

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

Так же, вы можете проверить правильность выполнения редиректа для конкретной поисковой системы. Для этого, перед нажатием на кнопку «Analyse», нужно выбрать из выпадающего списка название нужного поискового робота:

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


Так же, вы можете назначить 301 редирект сразу после получения и установки с SSL-сертификата, но в этом случае вы рискуете тем, что многие страницы вашего сайта могут на время выпасть из поисковой выдачи.

Я надеюсь, что данная статья поможет вам правильно настроить редирект для HTTPS –протокола и осуществить переход на SSL-сертификат с наименьшими потерями. Если данная статья вам понравилась, делайте репост в социальные сети и подписывайтесь на мою рассылку. Желаю вам успешного переезда и до встречи в следующих статьях.

С уважением Юлия Гусарь

impuls-web.ru

Уже ни для кого не секрет, что Гугл и Яндекс начинают выдавать «бонусы» сайтам, у которых установлен сертификат безопасности SSL, и которые начали работать через протокол https. И чтобы корректно настроить редирект с http на https, нужно прописать в .htaccess пару строчек.

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


Вариант 1

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

Вариант 2

  RewriteCond %{SERVER_PORT} !^443$  RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]  

Вариант 3

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

Вариант 4

  RewriteCond %{HTTP:X-HTTPS} !1  RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]  

Вариант 5

  RewriteCond %{HTTP:CF-Visitor} '"scheme":"http"'  RewriteRule ^(.*)$ https://www.domain.com/$1 [L] #не забудьте заменить на ваш домен  

Вариант 6

  RewriteCond %{HTTP:X-Forwarded-Protocol} !=https  RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]  

Вариант 7. На одну строчку больше =)

  RewriteCond %{HTTP:X-Forwarded-Proto} !https  RewriteCond %{HTTPS} off  RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]  

Каждый из приведенных выше вариантов нужно прописывать сразу после включения mod_rewrite, а именно — после директивы RewriteEngine On.


alittlebit.ru

Чтобы настроить перенаправление с http на https при обращении к сайту, нужно написать в конфигурационном файле веб-сервера определенное правило.

Apache

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

 RewriteEngine On RewriteCond %{SERVER_PORT} ^443$ [OR] RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] 

Для перенаправления с https на http допишите блок:

 RewriteEngine On RewriteCond %{SERVER_PORT} ^80$ [OR] RewriteCond %{HTTP} =on RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L] 

Nginx

Откройте конфигурационный файл веб-сервера Nginx для редактирования.

Если вы производите настройки перенаправления первый раз, то создайте в этом файле следующие секции:

 server {  listen IP-адрес_сервера:80;  server_name www.mydomain.com;  rewrite ^ https://www.mydomain.com$request_uri? permanent;  }   server {  listen IP-адрес_сервера:443;  server_name www.mydomain.com; ..... } 

Первая служит для открытия сайта по http (80 порт) и непосредственно перенаправления, вторая — для открытия по https (443 порт), основная секция домена.


Если основная секция домена уже создана, то удалите из нее строку

 listen IIP-адрес_сервера:80; 

и добавьте новую секцию:

 server {  listen IP-адрес_сервера:80;  server_name www.mydomain.com;  rewrite ^ https://www.mydomain.com$request_uri? permanent;  } 

В случае настройки перехода с https на http добавьте секции:

 server {  listen 443;  server_name www.mydomain.com;  rewrite ^ http://www.mydomain.com$request_uri? permanent;  }     server {  listen 80;  server_name www.mydomain.com; ..... } 

Если вторая секция (с основными настройками домена) существует, то внесите в нее изменения, добавив две указанные выше строки.

Выполните перезагрузку веб-сервера Nginx командой:

 service nginx restart 

ispserver.ru


настроить редирект с http на https

Новый 2017й год — это будет массовый год перехода больших и маленьких сайтов, блогов и порталов с обычного старого и всем известного протокола HTTP на его более новую и безопасную версию HTTS. Буква S в аббревиатуре обозначает «Secure», то есть безопасный. Это достигается за счёт использования протоколом шифрования, которое используется в протоколах SSL или TLS, поверх которых будут передаваться данные. Такую политику продвигает компания Google. В след за ней, скорее всего, этим займутся и все остальные Интернет-медиагиганты.
Всвязи с этими событиями у веб-мастеров начинают возникать различные вопросы, связанные с переходом от одного протокола к другому. В этой статье я расскажу про то, как настроить редирект с http на https через htaccess на веб-сервере Apache. 


Что это такое и зачем оно нужно?

В переводе с английского языка слово «redirect» обозначает перенаправление. То есть, смысл этой процедуры заключается в том, чтобы трафик, который идёт на обычную версию сайта перенаправить на новую, защищённую версию. Тут дело в том, что для поисковиков сайт http://example.ru и https://example.ru — это два разных ресурса. Поэтому, после перехода на защищённый протокол, в Интернете появляется полная копия исходного сайта. И вот чтобы избежать проблем с поиском и работой сайта, крайне необходимо настроить перенаправление, то есть редирект сайта с http на https.

Настройка перенаправления в htaccess

У самого популярного веб-сервера Apache для большего удобства работы и настройки (проще говоря, чтобы пользователь не лазил лишний раз в глобальный конфиг httpd.conf) используется специальный файл дополнительной конфигурации .htaccess, который лежит в каталоге сайта. Вот как раз с его помощью можно настроить перенаправление http на https.

Итак, с помощью любого подручного текстового редактора — vim, nano, mcedit и т.п. — открываем файл и прописываем следующее:

RewriteEngine On    RewriteCond %{HTTPS} !=on    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Если вдруг не заработает — пробуйте второй вариант настройки редиректа через htaccess:


RewriteEngine On    RewriteCond %{SERVER_PORT} !^443$    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Во втором случае используется правило Redirect 301, когда при попытке доступа к той или иной странице на старой версии http сервер будет отвечать, что она переехала на новый адрес с https.

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

set-os.ru

Введение

Ниже я покажу, как перенаправить сайт с www на без-www (или наоборот) и с http на https, используя конфигурацию сервера Apache. Чтобы стало понятнее, конфигурация будет перенаправлять следующие имена хостов:

на

Также я покажу небольшое изменение для перенаправления без-WWW на версию с WWW, если вы предпочитаете WWW.

Конфигурация Apache

Перед тем, как сделать редирект с https на http, добавьте следующее правило перенаправления в файл конфигурации Apache (если у вас есть доступ к нему), либо в файл .htaccess, расположенный в корневом каталоге вашего сайта:

Если вместо example.com вы хотите использовать по умолчанию URL www.example.com, то просто измените третью и пятую строки:

Как это работает?

Попробуем разобраться, как работает эта конфигурация htaccess редиректа http на https. Это поможет внести необходимые изменения:

Первая строка позволяет Apache запустить механизм преобразования http-ссылок, необходимый для выполнения перенаправления:

Эти две строки — условия перенаправления, они используются для определения того, должен ли запрос быть перенаправлен. Если любое из этих двух условий возвратит true, то Apache выполнит перенаправление, поскольку условия соединяются с помощью [OR].

Первое условие определяет, использует ли запрос URL не-HTTPS. Второе условие определяет, использует ли запрос URL www. Заметьте, я использовал www.а не www., потому что образец является регулярным выражением и точка здесь используется для экранирования. Следовательно, ее нужно оставить:

Четвертая строка — она соответствует имени хоста входящего запроса, и разделяет его на www часть (если таковая имеется), и остальную часть имени хоста. Мы будем ссылаться на нее позже с помощью %1 в RewriteRule.

Если вы знаете имя хоста заранее, то можно улучшить правило редиректа с http на https, встроив URL и пропустив это условие (пример ниже):

RewriteRule – центральный элемент перенаправления. С помощью этой строки мы предписываем Apache перенаправить любой запрос на новый URL, который состоит из:

  • https: // WWW;
  • %1: Ссылка на без-WWW часть хоста;
  • %{REQUEST_URL}: URL-запрос, без имени хоста.

Все эти маркеры соединены друг с другом, и представляют собой конечный URL перенаправления. В конце мы добавляем три флага:

  • NE — чтобы не выйти из специальных символов;
  • R=301 — использовать HTTP статус 301 редиректа;
  • L — прекратить обработку других правил, и немедленно перенаправить.

Замечания

В моём примере htaccess редиректа http на https используется дополнительная строка RewriteCond, чтобы извлечь имя хоста, а не подставлять имя в правило. Если чувствуете, что для вас это — потеря производительности, то можете встроить хост непосредственно в правило:

Заключение

В данной статье представлена простая конфигурация перенаправления WWW и не-HTTPS запросов для домена сайта. Таким образом можно избежать проблем с дублированием контента в поисковых системах.

Перевод статьи “Apache redirect www to non-www and HTTP to HTTPS” был подготовлен дружной командой проекта Сайтостроение от А до Я.

www.internet-technologies.ru

Что дает переход с HTTP на HTTPS?

Внедрение нового протокола безопасности для сайта может происходить по трем причинам:

  1. Конфиденциальность. Интернет — это открытая среда, и https здесь защищает коммуникации между сторонами. При отсутствии HTTPS владельцу точки доступа будут доступны приватные данные: кредитные карты (при совершении покупки в интернет-магазине, например).
  2. Целостность. Протокол https гарантирует, что информация будет доставлена адресату в нетронутом виде. Например, владелец Wi-Fi сможет вставлять на сайт «левую» рекламу, изменять внешний вид сайта и сжимать картинки для экономии трафика. Но если на сайте есть HTTPS, то это гарантирует, что сайт не будет изменен.
  3. Подлинность. Сертификат гарантирует, что посещаемый сайт действительно является подлинным.

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

протокол https

Также сертификация оказывает положительное влияние на продвижение сайта в поисковых системах. Поэтому многие вебмастера получают сертификаты безопасности для своих сайтов. Но после получения сталкиваются с проблемой — настройкой. Ведь недостаточно просто получить сертификат, нужно правильно перенаправить весь трафик на новый домен и «рассказать» об этом поисковым системам. Как это сделать?

Подготовка

Перед тем как создать редирект с http на https, необходимо подготовить сайт. Самое первое действие — сделать внутренние ссылки относительными. То есть необходимо убрать вначале ссылки символы «http://». Также можно добавить букву «s» к указанным символам, чтобы все ваши статьи ссылались на версию сайта с протоколом безопасности, но это необходимо делать после окончательного перехода сайта.

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

Сделать это несложно. Сейчас существует много программ для разных систем управления контентом, которые за пару секунд сделают все ссылки на сайте относительными. Например, для популярной системы Wodpress есть плагин HTTP / HTTPS Remover.

Проверка

После установки сертификата и настройки внешних ссылок желательно проверить, правильно ли «стал» сертификат. Сделать это можно с помощью специального сервиса ssllabs.com. Там нужно вписать доменное имя сайта нажать на кнопку Sabmit, после чего система покажет оценку настройки соединения и даст советы относительно решения возможных проблем. Если параметр Overall Rating будет иметь оценку «A», то значит, все отлично и ваш сертификат безопасности хорош.

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

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

Самый простой вариант — редактировать файл htaccess. Редирект с HTTP на HTTPS с помощью этого файла делается в том случае, если сайт размещен на сервере Apache. Необходимо в файле прописать следующие строки:

[…]

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

[…]

Можете просто скопировать и вставить в свой файл htaccess. Напомним, он находится в корне вашего сайта и всегда присутствует на сайтах, работающих под управлением Apache.

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

Теперь, когда робот поисковой системы попадет на ваш сайт, он будет автоматически перенаправлен на версию https. Ему потребуется время, чтобы понять, что к чему и внести эти данные в свой алгоритм. Обычно восприятие перехода и редиректа с http на https у поисковой системы «Яндекс» занимает около месяца, хотя у Google уходит неделя-другая.

Помните, что не всегда переход на https является успешным. Сайты некоторых вебмастеров после этой процедуры сильно падают по позициям в поисковых системах, выпадают из индекса и затем снова в него попадают очень нескоро. Иногда приходится жертвовать большой долей трафика, и многие вебмастера крайне недовольны результатом перехода. Также обнуляется ТИЦ, и хотя он потом восстанавливается, на время его обнуления сайт в глазах рекламодателей выглядит очень плохо.

Впрочем, чаще всего редирект проходит практически безболезненно и быстро. «Яндекс» в течение месяца «склеивает» сайт и его зеркало, и в результате весь трафик возвращается обратно, но уже на новый домен с приставкой https.

Заключение

Рано или поздно переходить на новый протокол безопасности придется. Вскоре это станет одним из ключевых требований поисковых систем, которые просто не будут высоко ранжировать сайты с протоколом http. Так почему бы это не сделать раньше, чем сделают ваши конкуренты? Да, в первое время будет тяжело, и вы, скорее всего, потеряете часть трафика, но в долгосрочной перспективе точно выиграете. По крайней мере, так говорят сами представители поисковых систем. Нет оснований им не верить. И вообще, переход на https — это совершенствование своего сайта с точки зрения безопасности.

fb.ru

Что такое редирект с http на https?

Очень важно, чтобы после перехода на защищенный протокол все ссылки Вашего сайта работали по https. В этом и заключается весь смысл надежности передачи данных. В ином случае браузер будет выдавать ошибки, что на сайте присутствует смешанный контент. Это означает, что некоторые данные (часто изображения, js-скрипты, css-стили) будут передаваться по незащищенному протоколу (http). Отметим, что от корректного перехода на https зависит сохранность данных всех Ваших пользователей.

Как выполнить редирект с http на https в WordPress?

Весь процесс перевода WordPress-сайта на https описывать не будем, так как это было подробно рассмотрено в одной из наших статей. Остановимся лишь на последнем его этапе — корректной переадресации всех http-ссылок сайта на https.

Наиболее простым и надежным способом является использование плагина Clearfy Pro, который без каких-либо проблем гарантирует правильную переадресацию с http на https для всех разделов и элементов Вашего сайта. Для этого достаточно в админ-части перейти Clearfy Pro и на вкладке SEO активировать настройку Редирект с http на https.

Страница настроек плагина Clearfy Pro

Рассмотрим также и другие, менее удобные, способы переадресации на https, которые имеют один существенный недостаток — предоставляются в виде дополнительных плагинов.

Способ 1. Плагин Easy HTTPS Redirection

Easy HTTPS Redirection — отдельный плагин для осуществления редиректа с http на https. После его установки и активации следует включить процесс редиректа. Для этого необходимо перейти в раздел Настройки -> HTTPS Redirection и активировать настройку Enable automatic redirection to the «HTTPS», после чего нажать кнопку Сохранить изменения.

Страница настроек плагина Easy HTTPS Redirection

Способ 2. Плагин Force HTTPS

Force HTTPS — плагин, который сразу после установки и активации будет выполнять переадресацию всех страниц Вашего сайта на защищенный протокол https. В настройках не нуждается. Следует отметить, что после его активации все разделы сайта, включая админ-часть, будут доступны через https. Для этого перед его установкой необходимо еще раз удостовериться о наличии SSL-сертификата для домена Вашего сайта.

wpschool.ru


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.