301-й редирект с http на https

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

Для настройки 301-го с протокола http на протокол https существует большое количество способов. Рассмотрю наиболее распространенные из них.

Очень многие панели управления на хостинге позволяют настроить такой редирект установкой соответствующей опции. Это  - самый простой вариант:)

Дальше - несколько вариант редиректа с помощью .htaccess:

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

Данное правило работает, практически, всегда, но на последнем проекте я столкнулся с тем, что такое правило давало циклическую переадресацию (ниже будет причина). Поэтому, техподдержка хостинга посоветовали другое правило:

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

Это правило успешно отработало

Также есть возможность настроить такой редиркет не средствами htaccess, а средствами php

if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == ""){
    $redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: $redirect");
}

или

if ($_SERVER["SERVER_PORT"] != 443) {
    $redir = "Location: https://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
    header($redir);
    exit();
}

Но на том же последнем проекте столкнулся с проблемой, что сервер не отдавал параметр $_SERVER['HTTPS'], а также сайт на протоколе https работал также на 80-м порту, как и http. Поэтому меня спасло только решение, предложенное техподдержкой хостинга

Количество показов: 75786
24.03.2016

Возврат к списку

Если вам была полезна статья можете отблагодарить автора:
Ethereum:

0x16Df809287333C49D3A237296C6248A6c08702Bc

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.