Собираю базу знаний, чтобы все под рукой
 

Ссылка с сайта https на http без предупреждения о смешанном контенте от браузера

Хай!

Делюсь опытом: Есть сайт на https, с которого надо сделать ссылку на сайт с по протоколу http. Если так сделать напрямую, то браузер на странице с такой ссылкой будет вываливать оповещение о том, что соединение защищено не полностью — бедные пользователи испугаются и убегут!

А нам нужен замочек, что все в порядке.

Итак что пробывали: у нас изначально ссылка вида: <a href=»http://site.ru» rel=»nofollow»>site.ru</a>

На нее ругается браузер. варианты решения:

  1. сделать ссылку без указания протокола, т.е. «//» вот так:  <a href=»//site.ru» rel=»nofollow»>site.ru</a>. Вроде все круто и работает на нашей странице, т.к. сайт воспринимает эту ссылку на https. НО!!!!!! при переходе по ней вы попадете на адрес https://site.ru которого не существует, т.к. у сайта нет ssl сертификата. Вы получите мешанину, т.к. ни стили ни скрипты не загрузятся. будет очень некрасиво. Это точно не вариант. Много чего перерыл, но пришлось выдумывать самому.
  2. ПРАВИЛЬНОЕ РЕШЕНИЕ ССЫЛКИ HTTP С САЙТА НА HTTPS: решил с помощью 301 редиректа:
  • делаем ссылку вида <a href=»/site» rel=»nofollow»>site.ru</a> По сути мы указываем ссылку на страницу нашего сайта.
  • Дальше в .htaccess добавляем редирект: Redirect 301 «наша ссылка на раздел нашего сайта» «правильная ссылка на сторонний сайт», получаем «Redirect 301 /site http://site.ru».

Не забудьте сохранить файл .htaccess.

На этом все. получаем замочек в браузере, при этом сторонний сайт корректно откроется по протоколу «HTTP»

Всем добра и чтоб росла борода!

 

Поделиться ссылкой: