Перенос сайта с http на https

Рейтинг: 2Ответов: 2Опубликовано: 12.12.2014

Здравствуйте!

Получил SSL сертификат. Теперь необходимо поменять протокол с http на https, вследствие чего возникли некоторые трудности:

  1. Что прописать в htaccess чтобы, сделать редирект с (http://www.site.ru, https://www.site.ru и http://site.ru) на https://site.ru (с регулярками туго у меня)?
  2. К сайту подключается пара скриптов, к которым есть доступ только по http протоколу. Как быть? Можно ли как-то безболезненно прикрепить к https сайту скрипты по http?
  3. Есть ли минусы или какие проблемы при переходе на https?

Ответы

▲ 1Принят

Хостер прислал вот такой вариант, и все заработало:

RewriteCond %{HTTP_HOST} ^www\.site\.ru [NC,OR]
RewriteCond %{HTTP:X-Forwarded-Proto} ^http$ [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

Но теперь появилась другая проблема...
Прежде чем сделать редирект с https://www.site.ru -> https://site.ru проверяется сертификат, а так как сертификат выдан для домена без WWW, выдается ошибка...

▲ 2

Со StackOverflow:

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

Кроме того, можно делать перенаправление по номеру порта, например:

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

Это перенаправит на HTTPS все запросы, полученные по 80 порту.

Вставлять HTTP скрипты на HTTPS сайт нельзя, это рушит всю безопасность, которой хотели добиться. Вы же для этого на HTTPS переходите?

Минусы или плюсы перехода зависят непосредственно от вашего проекта.