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

Приветствую вас на сайте Impuls-Web!

Сегодня мы рассмотрим последний этап перевода сайта на SSL-сертификат, в котором нам нужно настроить редирект с http на https, или, другими словами, перенаправление с нашего прежнего адреса, начинающегося с http://, на новый адрес по протоколу HTTPS.

В предыдущих статьях я рассматривала процесс получения у установки SSL сертификата. Если вы их не читали – вот ссылки:
Нужен ли SSL-сертификат для сайта?
Как получить бесплатно SSL-сертификат для сайта?
Как получить SSL сертификат?
Как установить SSL-сертификат на хостинг?

Переадресация на 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


Что дает переход с 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

Введение

Ниже я покажу, как перенаправить сайт с 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?

Очень важно, чтобы после перехода на защищенный протокол все ссылки Вашего сайта работали по 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

ELinks. Настройка

Перейти к страницам: ELinks — Текстовый, или консольный веб браузер. Описание: возможности, скриншоты, где скачать. ELinks. Использование — Как пользоваться браузером ELinks. Что можно делать с помощью ELinks и что нельзя, что может быть настроено, зависит от нескольких моментов. Самое распространенное, это возможности эмулятора терминала / консоли, в которых запускается ELinks и поддержка чего была выбрана в процессе компиляции исходного кода браузера. В некоторых операционных системах (Windows, например) проще и более надежно не подключать некоторые возможности. Далее обсуждается настройка ELinks 0.12pre2 из Package Database дистрибутива Zenwalk Linux (изначально основывался на Slackware, до сих пор сохраняя совместимость с его бинарными пакетами). Данный ELinks вполне типичный среди других версий этого браузера для Linux на настольных PC компьютерах. Пользовательский интерфейс версии ELinks для Windows и ELinks для Linux / некоторых других *nix систем сравнимых версий одинаков. Если ELinks был скомпилирован без какой-то функции или эмулятор терминала / консоль не поддерживает что-то, тогда будет просто невозможно выбрать эту возможность в процессе настройки; или возможно, но она не будет работать. Например, если ELinks скомпилирован без поддержки 256 цветов или консоль не может отображать их, то в меню будет возможно выбрать только 16 или «No colors (mono)». А в остальном ELinks будет работать не хуже. Все настройки ELinks могут быть сделаны через меню браузера — нет необходимости редактировать конфигурационные файлы. Даже если для некоторых тонких настроек все-таки может потребоваться редактирование файла ELinks.conf или даже файлов исходного кода — но это не слишком актуальный вопрос для обычного использования. Меню ELinks скрыто, когда браузер отображает веб-страницу: Чтобы получить доступ к меню, нажать Esc на клавиатуре: Настройки находятся в группе «Setup»: 1 ) «Language» — выбрать язык пользовательского интерфейса ELinks. Возможно выбрать системный язык или какой-то другой. Операционная система и эмулятор терминала / консоль должны быть подготовлены для этих изменений — установлены и настроены соответствующие файлы локализации / интернационализации. Выбрать язык (English в данном примере): Что бы сохранить этот выбор, вновь нажать Esc, затем Setup, потом Save options, затем подтвердить, кликая на OK.

www.kompx.com

Про редиректы с www и на https в интернете рассказано много. Однако для того, чтобы создать работоспособный редирект с www на сайт без www, нужно учесть один нюанс:
SSL сертификат должен быть действителен для обоих доменов (с www и без).

А вот и рабочий пример кода, который вы можете использовать для настройки редиректа:

RewriteEngine on  RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] 

Две строки после RewriteEngine on создают переадресацию на сайт без www.

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

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

Есть также альтернативный вариант:

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

Не забывайте, что в самом верху, перед правилами RewriteCond и RewriteRule должна быть строка RewriteEngine on

В итоге код htaccess, который создает редирект с www на сайт без www и с http на https выглядит так:

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

Для htaccess есть сборник сниппетов, на все случаи жизни: https://github.com/phanan/htaccess (en)

Также очень рекомендую прочитать статью про правильный переезд на https.
Да, переехать можно и неправильно.

Успехов! Сработал ли у вас редирект, напишите в комментариях.

phpstack.ru

Нужен ли вашему сайту редирект с http на https

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

И пусть в настоящее время этот признак может повлиять менее, чем на 1% рейтинга, ожидается, что в будущем Google будет уделять еще больше внимания проблемам безопасности. Помимо этого, наличие «замочка» в адресной строке отражается на доверии посетителей к конкретному онлайн ресурсу.

«Замочек» перед адресом интернет странички как раз и свидетельствует о защищенном протоколе HTTPS, а, следовательно, его отсутствие может стать причиной ухода посетителя на конкурирующий сайт.

Протокол HTTPS основан на 3-х уровнях защиты данных:

3 варианта как сделать редирект с http на https

Редирект с http на https на уровне сервера

Этот вариант перенаправления имеет ряд преимуществ. Технология такого решения предполагает прием сервером, который имеет сертификат SSL, закодированных HTTPS-запросов с последующей передачей кодированного ответа о перенаправлении без установления связи с сервером приложения.

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

В некоторых случаях (например, при отсутствии доступа к серверной конфигурации) невозможно реализовать перенаправление на базе сервера. Такие ситуации возникают при размещении ресурса на виртуальном хостинге или таких платформах, как Heroku, Azure или Google Platform. В этом случае остается вариант с использованием приложений.

HTTPS перенаправление на базе приложений

Этот вариант снижает скорость процесса, так как сервер должен провести обработку кодировки приложения и только после этого выдать ответ. Процесс перенаправления зависит от используемого языка программирования.

Другие варианты редиректа с HTTP на HTTPS

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

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

Как настроить редирект с http на https: этапы перехода

Этап 1-й. Подготовка к редиректу на HTTPS

Подготовительный этап предполагает проведение мероприятий по замене абсолютных внутренних ссылок сайта на относительные. К примеру, http://sales-generator.ru/blog/kak-prodavat-cherez-internet/  изменить в текстах на /kak-prodavat-cherez-internet/.

Есть еще один вид относительных ссылок. В этом случае в их адресе не используется доменное имя, а только протокол: //sales-generator.ru/blog/kak-prodavat-cherez-internet/.

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

Этап 2-й. Выбор SSL-сертификата

Использование бесплатных SSL-сертификатов связано с определенными рисками. При этом браузер может ошибочно выдавать предупреждении о небезопасном посещении сайта. По уровню защиты различают несколько вариантов таких сертификатов:

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

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

Этап 3-й. Настройка ресурса с сохранением уровня посещаемости.

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

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

В файле robots.txt следует изменить строку host. Здесь нужно обязательно прописать домен вместе с https:

Например, Host: https://domennoeimya.com

Строку с картой сайта также необходимо обновить.

В сервисе Google Search Console также нужно добавить сайт HTTPS. Кроме того, здесь следует обновить XML-карту ресурса и определить регион. При наличии отклоненных ссылок в Disavow Tool нужно еще раз загрузить файл с ними.

Самое главное — правильно настроить 301 редирект с https на http (с прежнего адреса HTTP на новый с HTTPS). Если вы уже сделали все, чтобы установить 301 редирект с http на https, нужно еще проверить доступность картинок по HTTPS на всех видах страниц (страницы фильтров, карточек-товаров, прайсы, категории и др.).

Нужно учесть, что robots.txt и XML-карта сайта должны быть доступны, как по http, так и по https. При настройке перенаправлений исключение для файла robots настраивается строкой:

Этап 4-й. Правки

Как бы тщательно не была выполнена подготовка интернет ресурса к редиректу все равно есть вероятность того, что остались ссылки на HTTP. Например, могут остаться ссылки в link rel=»canonical» (это значит, что все без исключения страницы ресурса, включая абсолютные ссылки на страницах пагинации, ссылались на 301 редирект). При наличии языковых версий веб-сайта следует сделать замену адресов ссылок с

на

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

Чтобы устранить проблему, следует сделать замену ссылочных адресов для скриптов на относительные, без протокола. Затем нужно выполнить проверку ответов сервера. Страницы, которые есть на сервере должны возвращать код ответа 200, а несуществующие — 404/410. После этого остается только ожидать переиндексацию веб ресурса.

Как настроить редирект с http на https через htaccess

Наиболее популярный сервис Apache предлагает эффективные решения для пользователей, избавляющие от необходимости обращаться в глобальный конфиг httpd. conf). Для этого применяется файл дополнительной конфигурации .htaccess, размещенный в каталоге ресурса. Именно этот файл позволяет выполнить удобную настройку редиректа с http на https.

Для этого можно использовать разные текстовые редакторы типа vim, nano, mcedit др. В файле нужно прописать:

Если редирект не заработал, можно использовать еще один способ настройки через htaccess:

В этом случае работает правило Redirect 301 (при запросе доступа к странице на версии http сервер будет выдавать ответ о ее переезде на адрес с https). После изменения файл нужно сохранить.

Как сделать с помощью Nginx редирект с https на http

Файл Nginx должен содержать 2 секции server (для https и сайта http). В секции http нужно сделать редирект всех запросов на https. Для этого используется директива return. После этого выполняется обработка 2-й секции. К примеру:

2-я секция уже с обработкой SSL принимает запросы на 443 порту:

Здесь все достаточно понятно: инструкция return обеспечивает возврат нужных кодов ответов сервера. Мы осуществляем возврат кода 301 и вводим адрес куда будет перенаправлен посетитель. Помимо инструкции return, может использоваться и rewrite. Здесь нужно выполнить такие же действия:

Это стандартная запись регулярных выражений. В 1-й строке нужно выделить группу строк запросов, а во 2-й прописать правильное доменное имя. Директива может использоваться и без блока server:

На этом этапе нужно сохранить файл и выполнить тестирование конфигурации nginx:

Если проверка прошла успешно, сделай перезапуск Nginx:

Теперь проверьте ответ сервера при помощи curl:

Можно также дать возможность программе пройти весь путь редиректа:

Сделать настройку перенаправления на https nginx не очень сложно. Все настройки сводятся к внесению строки в файл «конфиг». Редирект с https на http nginx настраивается аналогично. Необходимо только изменить несколько символов в параметрах retrun. Обязательно нужно выполнять проверку настроек перенаправлений с www и на https. Этот момент особенно важен для СЕО продвижения.

Если настройка редиректа с http на https произошла с ошибкой

Чаще всего вебмастера обращаются с вопросом, почему после настройки редиректа поисковики по версии http не видят файл robots.txt (это значит, что он отдает 301 ответ сервера вместо 200).

Эта проблема связана со статическими настройками сервера, обычно статический контент должен отдавать по http и по https.

Но даже, если это не происходит, нет смысла беспокоиться: все данные теперь доступны по https.

В файле .htaccess в порядке исключения может быть настроено дополнительное правило:

Наша запись должна получить примерно такой вид:

Затем нужно выполнить проверку ответа сервера.

Как влияет редирект с http на https на SEO

После настроек редиректа с http на https обязательно измените адрес своего ресурса robots. txt (нужно  указать новое главное зеркало в панели вебмастера для поисковиков).

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

Рекомендации, которые предоставил Яндекс в отношении данного редиректа:

Рекомендации по редиректу от Google:

sales-generator.ru

Редиректы

Редирект наверное лучше всего настроить через .htaccess, путем вставки такой конструкции перед правилами WordPress. А лучше перед всеми правилами, т.е. в самое начало файла:

# SSL: 301 redirect to https from http <IfModule mod_rewrite.c> 	RewriteEngine On 	RewriteCond %{SERVER_PORT} !^443$ 	RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] </IfModule>

Еще вариант:

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

Еще вариант:

RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Еще вариант:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /(.*) HTTP/ [NC] RewriteCond %{HTTPS} off [NC] RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]

Тут важно, что устанавливается 301 редирект, в сети посмотрел эту тему, кое-где его не используют, а он нужен!

Также, можно установить редирект в PHP, вместе с редиректом c .htaccess. Пригодится, если по какой-то причине редирект с апача слетит, чтобы PHP был на подстраховке…

## redirect с http на https add_action('init', 'http_to_https_redirect'); function http_to_https_redirect(){ 	if( is_ssl() ) return;  	if ( 0 === strpos($_SERVER['REQUEST_URI'], 'http') ) 		wp_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ), 301 ); 	else 		wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );  	exit; }

Изменение URL в контенте

В сети видел предложения заменять http на https прямо в базе данных. Я думаю это не лучшее решение, потому что возможно в будущем вы откажетесь от SSL и тогда нужно будет все менять обратно… Поэтому лучше делать замену на лету, таким кодом (он быстрый):

add_filter('the_content', 'replace_url_to_https', 30); function replace_url_to_https( $text ){ 	$text = preg_replace('~http(://(?:www.)?'. preg_quote($_SERVER['HTTP_HOST']) .')~', 'https1', $text ); 	return $text; }

Как вы, наверное, понимаете функцию replace_url_to_https() можно будет применить к любому тексту, где нужно заменить текст http://ваш-сайт.ru/* текст на текст https://ваш-сайт.ru/* текст. Она меняет все без разбора, будь то картинки или что-то еще, но только для URL относящихся к текущему домену…

Изменение URL других ссылок

Вообще WordPress автоматически подстраивается под https протокол текущей страницы и все ссылки должны измениться автоматом. Поэтому нет необходимости изменять даже протоколы в ссылках: URL сайта и URL WordPress (в настройках). Их протокол меняется налету…

Но если этого не произошло (протокол страницы https, но в ней есть ссылки http), то для смены протокола отдельных ссылок в WP есть функция set_url_scheme().

Пример:

echo set_url_scheme( 'http://site.ru/foo', 'https' ); // https://site.ru/foo

Корневая функция на основе которой ставиться протокол всех ссылок — это is_ssl(). Влияя на нее мы может влиять на все ссылки, при условии, что они жестко не прописаны в HTML, а выводятся через различные функции WordPress. Например, следующим кодом мы можем, жестко указать протокол https для всех ссылок на странице, даже если протокол страницы http:

$_SERVER[ 'HTTPS' ] = 'on'; // чтобы is_ssl() всегда возвращала true

Вызвать такой код нужно как можно раньше, до подключения плагинов. И наверное перед его вызовом нужно сделать какие-то проверки. Этот код — это просто пример…

Плагины

Как обычно, можно использовать плагины (я их не пробовал)…

Easy HTTPS Redirection — заглянул в код, вроде бы как раз то что вам нужно…

WordPress HTTPS (SSL) — вроде тоже хорош, правда не обновляется уже давно. Он, как я понял, заменяет все ссылки во всем HTML документе, работает как комбаин: много лишних операций, но может это и нужно, потому что удобно…

wp-kama.ru


You May Also Like

About the Author: admind

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

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

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

Adblock
detector