Правильный переезд сайта с http на https без потери позиций и трафика

Содержание:

Создание постоянной переадресации 301 через настройки и плагины CMS

В большинстве популярных конструкторов сайтов и CMS (OpenCart, Joomla!, Битрикс, Wix, Тильда) предусмотрена настройка редиректов с помощью встроенных инструментов. Если сайт создан с помощью WordPress, для настройки переадресации можно воспользоваться следующими плагинами:

  • Redirection — самый популярный плагин для настройки редиректов. Кроме основной функции обладает следующими возможностями: сбором статистики переадресаций, отслеживанием ошибок 404, поддержкой регулярных выражений.

  • Safe Redirect Manager — простой плагин, который также поддерживает регулярные выражения, практически не влияет на производительность сайта.

  • Quick Page/Post Redirect Plugin — еще один удобный инструмент оптимизации. Один из недостатков — отсутствие поддержки регулярных выражений. К ссылкам можно добавлять атрибут «nofollow».

  • Simple 301 Redirects. Данный модуль обладает одним недостатком – url для переадресации необходимо прописывать вручную.

Настроить Permanent Redirect 301 в Вордпресс можно и через редактирование файла .htaccess в разделе управления хостингом. Чтобы подключиться к нему, потребуется использовать FTP-клиент. Сама кодировка производится по общим правилам настройки переадресации в .htaccess.

Чтобы настроить 301 редирект в CMS OpenCart в файле .htaccess необходимо прописать:

RewriteCond %{QUERY_STRING} ^_route_=адрес_старой_страницы.html$

RewriteRule ^(.*)$ http://ваш_домен.ru/новой_страницы/? 

Для Битрикс кодировка будет выглядеть следующим образом:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.sng-it.ru$ 

RewriteRule ^(.*)$ http://sng-it.ru/$1 

В Joomla настройки переадресации производятся через панель администратора в разделе «Компоненты» => «Перенаправление». Здесь можно не только установить правила редиректа, но и отслеживать страницы с битыми ссылками и перенаправлять их на корректные адреса.

С конструкторами сайтов все не так однозначно. Например, один из наиболее популярных CMS-конструкторов WIX не предоставляет возможности создания файла .htaccess.

Но настроить редирект 301 довольно просто в базовом редакторе.

Где находится .htaccess

Можно с легкостью проверить, есть ли у вас служебный файл. От многих других документов он отличается тем, что имеет только расширение в виде названия из слова, тогда как самого названия нет. Да, мы все привыкли видеть файлы с названием из слова, и расширением после точки, которое состоит всего из 2-3 букв. Но пустые названия позволяют делать файлы и папки «скрытыми», с открытым исходным кодом. Из этого следует вывод, что .htaccess для обычных пользователей остается невидимым, поэтому они не смогут его изменить.

Но есть у этого метода «скрытия» файла и обратная сторона медали. В стандартных FTP-клиентах на ОС Windows и Mac, документ очень часто остается невидимым для пользователей, из-за чего они ошибочно полагают, что его просто нет. Поэтому человек создает новый файл для внесения своих конфигураций, кодов для обработки ошибок, создания доступа к папкам и пр. Хорошо, что большинство хостингов оставляют место на диске, где htaccess-файл уже установлен автоматически.

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

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

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

Что такое 301 редирект?

301 редирект или 301 Permanent Redirect – это постоянная переадресация одного URL-адреса на другой. Само слово «редирект» дословно переводится с английского как «перенаправление».

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

.htaccess

Если приложить максимум усилий — 301 редиректом возможно решить широкий круг проблем с оптимизацией, и глобально улучшить конверсию сайта. Соответственно, как сделать редирект на другой сайт нужно знать любому SEO специалисту и веб-мастеру.

Главное в этом деле — не забыться и не натворить лишнего, а также помнить о том, что перед каждым добавлением новых редиректов необходимо делать бекап файла .htaccess.

Зачем нужен 301 редирект и в каких случаях его используют?

301 редирект — весьма универсальный инструмент для любого оптимизатора. Он позволяет совершить перенос ссылочного наполнения одной страницы на другую. Чаще всего делают редирект на другой сайт при переезде на другой домен, соединении дублей интернет страниц или перенаправлении с «www» на «без www» и наоборот.

wwwбез wwwпо наследству

301 редирект способен передать:

  • индекс цитирования;
  • все ссылочное наполнение.

301 редирект не способен передать:

  • возраст сайта;
  • какие либо фильтры или санкции;
  • присутствие в каталогах.

Ко всему прочему, возможен вариант, когда редирект выступает способом добавления в конце ссылки косой черты — слеша. То есть «http://site.com/news» при помощи редиректа изменяют на «http://site.com/news/».

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

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

Как настроить 301 редирект?

Решений этой задачи на самом деле множество, все зависит от того какими техническими характеристиками обладает хостинг вашего сайта. Сейчас мы приведем несколько наиболее простых вариантов, как сделать 301 редирект.

Запомните, что все операции производится в файле .htaccess или httpd.conf (для сервера Apache).

Вариант 301 редиректа для переадресации на другой домен:

Redirect 301 / http://www.site.com/index.htm

В данном примере все страницы сайта будут перенаправлены на другой.

301 редирект для одной страницы выглядит так:

Redirect 301 /site1/page1.htm http://www.site2.com/page2.htm

В качестве последнего примера приведем следующее:

Redirect permanent /test http://www.test.com/

Redirect permanent / http://enter.test.com/

Видно, что при попадании пользователя или поискового робота в директорию test он автоматически перенаправляется на «www.test.com», все остальные перейдут на «enter.test.com».

Можно, конечно, использовать готовый скрипт редиректа, которых полно в сети. Однако для успешности данной операции необходимо чтобы на хостинге были включены модули «mod_alias».

Как проверить работает ли 301 редирект?

Самые распространенные ошибки, при которых 301 редирект отказывается работать правильно – это наличие прочих редиректов, мешающих работе.

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

Переходя к практике, давайте рассмотрим как проверить 301 редирект.

Допустим, посетитель вводит в адресной строке браузера ссылку «http://primer.com/index.php» и нажимает «ввод». Браузер совершает HTTP-запрос и посылает его серверу, который возвращает HTTP-ответ.

При установленном редиректе, в поле «Location» будет прописан другой адрес страницы, например: «http://primer.com/surprize.php», куда и произойдет переадресация.

Существует много сервисов и плагинов позволяющих проверить работоспособность редиректа.

HttpFox

Плагин HttpFox для браузера Mozilla Firefox построчно фиксирует загрузку страницы, что позволяет отслеживать связки редиректов, а так же порядок и быстроту загрузки интернет страницы.

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

Удачи Вам!

Edit .htaccess file using FTP or cPanel

Don’t worry if you don’t know how to access the .htaccess file you can take the help from your developer or just follow along, first I will tell you how to edit it.

  • Method #1: Edit the .htaccess file on your computer locally. Upload it to the server via FTP.
  • Method #2: Open the FTP program, and use the Edit function to edit the file remotely.
  • Method #3: Go to cPanel and open the File Manager to edit the .htaccess file. (I have written this method in detail)

Editing .htaccess in cPanel File Manager

Note: Take a backup of your site before messing with the cPanel File Manager.

How to edit .htaccess file in cPanel File Manager:

  1. Open your cPanel account
  2. Click on File Manager from the Files Tab
  3. Find the “Setting” at the top right corner of the page, click on it
  4. Click on the Document Root for (the domain name) and check the Show Hidden Files (image below)
  5. Save to update the File Manager
  6. Find the public_html file and click on it
  7. On the next page, you will find the .htaccess file
  8. Click once on the .htachess file and then click on the “Edit” at the top bar
  9. A warning box will pop up, but click on Edit
  10. On the next page, a code editor will open
  11. Edit the code
  12. Save the file

After everything is done, check the site if the changes are made. If anything goes wrong, follow the same procedure to find the .htaccess file and restore the older version.

Now, you know how to edit the .htaccess file, let’s redirect HTTP to HTTPS using the edit .htaccess file method.

Стратегии HTTPS-редиректов

Мы рассмотрели, как обрабатывается редирект с HTTP на HTTPS через htaccess после SSL / TLS согласования. А также выяснили, что для перенаправления клиентов с сайта или страницы на HTTPS нужен валидный сертификат SSL, который охватывает оба домена. Далее я расскажу об общих стратегиях настройки HTTPS-редиректов.

Существует два типа настройки редиректов с HTTPS:

  1. Редирект на уровне сервера;
  2. Редирект на уровне приложений.

Термин сервер обозначает любой сервер, который находится перед веб-приложением и обрабатывает входящий HTTP-запрос. Например, front-end сервер, сервер балансировки нагрузки или единичного приложения.

Термин приложение обозначает веб-приложение, которое может быть либо столь же простым, как PHP-скрипт, либо более сложным, таким как серверное Unicorn-приложение интерпретации Ruby on Rails.

Один (а не два последовательных!) 301 редирект на без www и с слешем на конце адреса страницы

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1/

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://%1/$1/

Что такое переадресация 301

Permanent Redirect 301 применяется с целью организации постоянной переадресации с неактуального доменного адреса или url отдельной страницы на рабочую версию. Редирект может понадобиться в связи с глобальным переносом сайта на другой домен, техническими изменениями в написании адреса, удалением страниц, необходимостью внутренней и внешней перелинковки. Один из вариантов использования перманентной переадресации – редирект с нескольких доменных имен, созданных в разных зонах, на один актуальный адрес. Грамотное использование редиректа позволяет перемещать контент без потерь в поисковой индексации, сохранить и даже увеличить прежний вес и позицию в выдаче.

Настроить код состояния HTTP 301 можно разными способами:

  • с помощью HTML и PHP;

  • через панель управления или плагины соответствующей CMS;

  • при помощи специальных скриптов (программ);

  • на уровне хостинг-провайдера;

  • внесением соответствующих записей в файлы .htaccess для сервера Apache или web.config для IIS.

Последний способ является наиболее простым и надежным. О нем чуть позже поговорим подробнее.

По умолчанию требуются параметры SSL и HTTP-перенаправления на веб-сайте по умолчанию на сервере ExchangeDefault Require SSL and HTTP Redirect settings in the default website on an Exchange server

Параметры SSL и HTTP-перенаправления для веб-сайта по умолчанию и все виртуальные каталоги по умолчанию на сервере Exchange описаны в следующей таблице.The default Require SSL and HTTP Redirect settings for the default website and all virtual directories in the default website on an Exchange server are described in the following table.

Веб-сайтWebsite Виртуальный каталогVirtual directory Требовать SSLRequire SSL Перенаправление HTTPHTTP Redirect
Веб-сайт по умолчаниюDefault Web Site Н/дn/a даyes Нетnone
Веб-сайт по умолчаниюDefault Web Site APIAPI даyes Нетnone
Веб-сайт по умолчаниюDefault Web Site aspnet_client (каталог)aspnet_client (directory) Даyes Нетnone
Веб-сайт по умолчаниюDefault Web Site AutodiscoverAutodiscover даyes Нетnone
Веб-сайт по умолчаниюDefault Web Site ecpecp даyes Нетnone
Веб-сайт по умолчаниюDefault Web Site EWSEWS даyes Нетnone
Веб-сайт по умолчаниюDefault Web Site mapimapi даyes Нетnone
Веб-сайт по умолчаниюDefault Web Site Microsoft-Server-ActiveSyncMicrosoft-Server-ActiveSync Даyes Нетnone
Веб-сайт по умолчаниюDefault Web Site OABOAB даyes Нетnone
Веб-сайт по умолчаниюDefault Web Site owaowa Даyes Подкаталоги:Subdirectories: • auth: да• auth: yes • Календарь: нет• Calendar: no • Интегрировано: да• Integrated: yes • oma: да• oma: yes Нетnone
Веб-сайт по умолчаниюDefault Web Site PowerShellPowerShell Нетno Нетnone
Веб-сайт по умолчаниюDefault Web Site RpcRpc Нетno нетnone

Общие сведения

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

Параметры, указанные в .htaccess, не затрагивают настройки главного конфигурационного файла Apache и имеют силу только для каталога, в котором этот файл размещен, и его подкаталогов. Для подкаталогов также можно создавать дополнительные .htaccess-файлы; при этом необходимо учитывать, что настройки .htaccess, заданные в подкаталоге, переопределят настройки, назначенные для него в файле .htaccess, размещенном на уровне выше.

Получение SSL-сертификата

Получить SSL-сертификат можно тремя основными способами, среди которых:

  • Приобрести платный сертификат;
  • Получить бесплатный у хостера;
  • Получить бесплатный самостоятельно.

Покупка SSL-сертификата

Может быть произведена как у хостера, так и у иных продавцов, как правило, для этого достаточно войти в данный раздели кликнуть на «Заказать».

Приобретаем нужный нам сертификат.

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

Получить бесплатный SSL-сертификат у хостинг-компании

Большинство современных хостинг компаний предоставляют бесплатный SSL, получить который можно в том же разделе только выбрать нужно услугу Let’s Encrypt.

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

Получение бесплатного SSL-сертификата самостоятельно

В первую очередь посещаем сайт sslforfree, где понадобится зарегистрироваться и залогиниться перед выполнением дальнейших действий.

Теперь вписываем адрес сайта (Важно! Если выдается сертификат для поддомена, то необходимо ввести его адрес, например, poddomen.site.ru) и нажимаем на «Create Free SSL Certoficate»

В появившемся окне «ZeroSSL» выбираем «New Certificate».

Вводим домен, например, «seopulses.ru».

Выбираем 90 дней.

Важно! Бесплатно можно получить только на 90 дней!

Оставляем все без изменений и переходим на следующий шаг через кнопку «Next Step».

Теперь нам предлагается 3 способа подтверждения:

  1. Через почту;
  2. DNS;
  3. Загрузку HTTP файла.

О каждом из этих способов указано ниже.

Подтверждение по почте

В этом случае система предложит написать на одну из почт:

  • admin@
  • administrator@
  • hostmaster@
  • postmaster@
  • webmaster@

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

В этом случае лучше всего:

  • Подключиться доменную почту на сервере;
  • Подключиться к Яндекс.Коннекту (есть бесплатный тариф);
  • Mail.ru для бизнеса (есть бесплатный тариф);
  • GSuite (От 5,4$ за пользователя).

Если указанной почты нет среди аккаунтов, то следует ее создать, например, в интерфейсе Яндекс.Коннекта это выглядит так:

Отправляем письмо для проверки.

В системе видно, что сообщение отправлено.

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

На проверочной странице вводим ключи и нажимаем на «Next».

Закрываем страницу.

В ZeroSSL обновляем статус заявки.

Видим, что все прошло успешно и кликаем на «Install Certificate».

Скачиваем бесплатный SSL-сертификат через кнопку «Download Certificate (.zip).

При необходимости можно сказать в разных форматах, например, для:

  • Apache;
  • AWS;
  • cPanel
  • NGINX;
  • Ubuntu;
  • И многих других.

Далее переходим к установке его на сервер.

Важно! Одни аккаунт может иметь до трех доменов с сертификатами бесплатно

Подтверждение бесплатного SSL-сертификата через DNS

На этапе выбора подтверждения кликаем на «DNS», где получаем нужные данные для ввода.

На следующем шаге видим, что система мониторит записи для подтверждения.

Переходим к хостинг-провайдеру (или другой интерфейс, куда через NS был делегирован домен) и переходим к редактированию DNS.

Добавляем новую TXT-запись.

Вводим выданные нам значения.

Важно! Name содержит запись для поддомена (111.site.ru), следует вводить только указанный только до домена код. Важно! Во многих системах интерфейс может быть различных, например, на примере в Timeweb не требуется ввод TTL, поэтому это опускаем

Важно! Во многих системах интерфейс может быть различных, например, на примере в Timeweb не требуется ввод TTL, поэтому это опускаем

Все готово, можно переходить к его установке.

Подтверждение бесплатного SSL через HTTP-файл

Выбираем пункт для подтверждения «HTTP File Upload» и скачиваем файл.

Система начинаем проверку.

Далее переходим в панель управления сервером или FTP-аккаунт, где в корневой папке сайта (как правило, public_html) создаем папку «.well-known».

В ней аналогично создаем еще одну папку «pki-validation».

Загружаем файл, скачанный в самом начале инструкции.

Все готово подтверждаем информацию (аналогично почте) и получаем сертификат.

Другие способы создания переадресации 301

Через PHP

Данный вариант подойдет тем, кто хорошо разбирается в web-программировании и PHP. Необходимо открыть файл index.php в корне CMS-движка и прописать там:

if($_SERVER == "/index.php") {

 header("Location: /",TRUE,301);

 exit();

}

(в первой строке укажите старый url, а во второй — новый)

Второй способ — перенаправление при помощи отправки заголовков (скрипта):

<?php

  header("HTTP/1.1 301 Moved Permanently");

  header("Location: http://www.newdomain.ru/newdir/newpage.htm");

  exit();

?>

ASP-редирект

<%@ Language=VBScript %>

<%

Response.Status="301 Moved Permanently"

Response.AddHeader "Location", "http://www.new-url.com"

response.end

%>

ASP.NET редирект

Найдите в корне своего сайта файл web.config и вставьте в секцию синтаксис:

<script runat="server">

  private void Page_Load(object sender, System.EventArgs e)

  {

    Response.Status = "301 Moved Permanently";

    Response.AddHeader("Location","http://www.new-url.com");

  }

</script>

ColdFusion редирект

<.cfheader statuscode="301″ statustext="Moved permanently">

<.cfheader name="Location" value="http://www.new-url.com">

JSP (Java) редирект

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

<script type="text/javascript" src="redirect.js"></script>

<script type="text/javascript">

  location="https://yandex.ru";

</script>

HTML-редирект

Этот способ подойдет для небольших статических сайтов, когда требуется настроить переадресацию для одной страницы. Для этого необходимо добавить специальный мета-тег внутри кода HTML. Пример записи редиректа на другой ресурс после 5-секундной задержки:

<meta http-equiv="refresh" content="5;https://livepage.pro">

Если поставить значение 0 вместо 5, то переадресация на https://livepage.pro произойдет моментально.

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

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

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

RewriteEngine On

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

RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} !^www. 

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

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

RewriteCond %{HTTP_HOST} ^(?:www.)?(.+)$ 

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

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

RewriteRule ^ https://www.%1%{REQUEST_URI} 

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

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

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

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

Что нужно знать перед началом работыWhat do you need to know before you begin?

  • Предполагаемое время выполнения процедуры: 15 минут.Estimated time to complete this procedure: 15 minutes.

  • Для выполнения этих процедур необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в статье запись «Диспетчер IIS» в разделе статьи Разрешения клиентов и мобильных устройств, посвященном разрешениям Outlook в Интернете.You need to be assigned permissions before you can perform this procedure or procedures. To see what permissions you need, see the «IIS Manager» entry in the Outlook on the web permissions section of the Clients and mobile devices permissions topic.

  • Процедуры в этом разделе могут привести к web.config файлу, который будет создан в папке .The procedures in this topic might cause a web.config file to be created in the folder . Если в дальнейшем отключить перенаправление HTTP для Outlook в Интернете, Outlook может зависать, когда пользователи выбирают команду Отправка и получение.If you later remove http redirection for Outlook on the web, Outlook might freeze when users click Send and Receive. Чтобы предотвратить замораживание Outlook после удаления перенаправления http, удалите файл web.config в .To prevent Outlook from freezing after you remove http redirection, delete the web.config file in .

  • Теперь для шифрования данных, которыми обмениваются компьютерные системы, используется протокол TLS вместо протокола SSL. Эти протоколы настолько сходны между собой, что термины «SSL» и «TLS» (без версий) часто используются как взаимозаменяемые. Поэтому когда в статьях по Exchange, Центр администрирования Exchange и Командная консоль Exchange упоминается термин «SSL», часто под ним подразумевается как протокол SSL, так и протокол TLS. Как правило, термин «SSL» обозначает именно протокол SSL только в тех случаях, когда указан номер версии (например, SSL 3.0). О том, почему следует отключить протокол SSL и перейти на протокол TLS, см. в статье Как устранить уязвимость SSL 3.0.Secure Sockets Layer (SSL) is being replaced by Transport Layer Security (TLS) as the protocol that’s used to encrypt data sent between computer systems. They’re so closely related that the terms «SSL» and «TLS» (without versions) are often used interchangeably. Because of this similarity, references to «SSL» in Exchange topics, the Exchange admin center, and the Exchange Management Shell have often been used to encompass both the SSL and TLS protocols. Typically, «SSL» refers to the actual SSL protocol only when a version is also provided (for example, SSL 3.0). To find out why you should disable the SSL protocol and switch to TLS, check out Protecting you against the SSL 3.0 vulnerability.

  • Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования Exchange.For information about keyboard shortcuts that may apply to the procedures in this topic, see Keyboard shortcuts in the Exchange admin center.

Совет

Возникли проблемы? Попросите помощи на форумах Exchange. Перейти на форумы можно по следующим ссылкам: Exchange Server, Exchange Online или Exchange Online Protection.Having problems? Ask for help in the Exchange forums. Visit the forums at: Exchange Server, Exchange Online, or Exchange Online Protection.

В каких случаях используется постоянный редирект 301

  1. Смена доменного имени, перенос сайта. Необходимо произвести тотальную настройку переадресации со старого адреса на новый, чтобы все без исключения запросы к old_site.ru перенаправлялись на new_site.ru.

  2. Изменение написания url определенных страниц в целях SEO-продвижения, смены CMS или по иным причинам. Требуется настроить редирект с site.ru/1hdkr5 на site.ru/page_adress.

  3. Перенос разделов на субдомены. Необходимо сменить адрес www.site.ru/example на example.site.ru.

  4. Для аккумуляции трафика с адресов, купленных в разных доменных зонах, на один приоритетный ресурс. 

  5. Исключение дублирующихся страниц из индекса. 

  6. Склейка зеркал сайта – вариантов сайта с идентичным контентом, но разным написанием адресов: site.ru, www.site.ru, https://site1.ru и т.д. В этом случае выбирается один приоритетный домен и на него настраивается редирект со всех остальных зеркал.

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

  8. Для быстрого перехода пользователя на мобильную версию ресурса со смартфонов и планшетных устройств.

Why do you need SSL for your website?

Secure Transactions: If you are selling something on your blog, then the transactions must happen on HTTPS. Or there is a large risk of stealing of credit card information and various other shopping scams.

Boost SEO: Having an SSL on the site gives boost to SEO. The Google wants web to be a secure place, hence, it gives priority to secure sites.

PCI Compliance: The Payment Card Industry has established rules for the site that enable the online transaction on the site. If you want to enable the credit card on your eCommerce store, then you have to be PCI compliant. Or you will have to pay a hefty penalty.

HTTPS browser trust indicator: The browser displays the Green bar for the site that loads on HTTPS. It gives a trust boost to the site.

Read More: HTTPS vs HTTP

Поток запроса HTTPS

HTTPS

  1. На первом этапе клиент и сервер договариваются о деталях шифрования, таких как протокол шифрования и набор шифров. Также происходит обмен информацией, необходимой для переключения на защищенное соединение: открытые ключи, сведения о сертификате и т.д. Эта фаза называется «SSL / TLS рукопожатие»;
  2. На втором этапе клиент готовит HTTP-запрос, шифрует его и отправляет на сервер для обработки. Сервер принимает зашифрованный HTTP-запрос, расшифровывает его, обрабатывает и выдает HTTP response (ответ);
  3. На третьем этапе, сервер шифрует ответ и отправляет его клиенту для обработки. Клиент получает зашифрованный HTTP response, дешифрует и обрабатывает его (например, браузер начинает загружать и отображать элементы).

Эта схема потока редиректа с HTTP на HTTPS применима к любому запросу, независимо от содержимого ответа HTTP.

Выше я написал запрос HTTP и ответ HTTP для определенных целей (обратите внимание, что я использовал HTTP, а не HTTPS)

С точки зрения содержимого и структуры важно понимать, что HTTPS-запрос — это HTTP-запрос, но передаваемый через защищенное соединение (TLS / SSL)

Перенаправить HTTP на HTTPS с помощью виртуального хоста

Виртуальные хосты Apache определяют настройки одного или нескольких доменов, размещенных на сервере. В директиве виртуального хоста вы можете указать корень документа сайта (каталог, содержащий файлы веб-сайта), создать отдельную политику безопасности для каждого сайта, использовать разные сертификаты SSL, настроить перенаправление и многое другое.

Обычно, когда сертификат SSL установлен в домене, у вас будет две директивы виртуального хоста для этого домена. Первый для HTTP-версии сайта на порту 80, а второй для версии HTTPS на порту 443.

В дистрибутивах на основе Red-Hat, таких как CentOS и Fedora, файлы виртуальных хостов хранятся в каталоге . В Debian и его производных, таких как Ubuntu, файлы хранятся в каталоге .

Чтобы перенаправить веб-сайт на HTTPS, используйте директиву как показано в примере ниже:

Поясним код. Мы используем две директивы виртуального хоста: одну для HTTP и одну для HTTPS-версии сайта.

  • — Сервер Apache прослушивает входящие соединения на порту 80 (HTTP) для указанного домена.
  • — Сервер Apache прослушивает входящие соединения на порту 443 (HTTPS) для указанного домена.

Директивы и определяют доменные имена виртуального хоста. Убедитесь, что вы заменили его на свое доменное имя.

Выделенная строка « внутри виртуального HTTP-хоста» перенаправляет трафик на HTTPS-версию сайта.

Обычно вы также хотите перенаправить HTTPS-версию сайта с www на не-www или наоборот. Вот пример конфигурации:

Код внутри виртуального хоста HTTPS (выделенные строки) проверяет, содержит ли заголовок запроса домен www, и перенаправляет на версию без www.

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

  • Debian и Ubuntu:

  • CentOS и Fedora:

Шаг 1: Подготовка сайта

Многих сложностей может не быть вообще, если изначально за сайтом следили и делали все чисто и без костылей.

Бэкап

Любое вмешательство в жизнь сайта (если это не простые действия с контентом или вы не самоуверенный программист) начинается с бэкапа, т.к. в случае появления проблем — вы быстро восстанавливаете данные и программист уходит все делать на своем серваке.

Относительные ссылки

Когда на сайте абсолютные ссылки вида http://romanus.ru/page-name — это может быть проблемой, т.к. их нужно:

  1. Либо заменить на относительные вида /page-name;
  2. Либо в абсолютных заменить протокол на https.

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

Уверен, на любом сайте вы найдете волшебную таблетку (пример замены домена в статьях):


Пример замены домена через SQL-запрос: кто-то его проверял?

Почему люди везде это пишут — хз, видимо никто не проверял работоспособность т.к. этот вариант просто не работает. SQL запрос не может заменить домен в ячейке, содержащей целый текст, т.к. это просто замена в лоб (как в Excel). Т.е. вы не можете заменить ячейку, если она не равняется вашему тексту (читай, ячейка = текст и ничего более).

Но у нас же в ячейках текст статей в html формате.

Даю 2 рабочих вариант:

  1. Для понимающих (хотя им не нужно объяснять). Идем в PhpMyAdmin, экспортируем нашу базу данных (или конкретную таблицу, в которой нужно сделать изменения). Далее открываем редактором типа Sublime или Notepad++ и через замену все меняем. Далее импортируем исправленный вариант обратно в нашу базу данных.
  2. Чтобы не накосячить. Во многих CMS есть плагины, которые с помощью регулярок могут делать замены (да и без них). Например, для WordPress есть хороший плагин Search Regex — который быстро и без проблем поможет сделать замену в тех местах, в которых это нужно.


Пример работы плагина Search Regex

Все пути к файлам и изображениям также должны быть изменены.

Адрес сайта

В CMS нужно изменить адрес вашего сайта на корректный, в WordPress это делается так:


Замена домена в админке WordPress

Внешние скрипты

Все внешние скрипты должны подключаться строго через https, т.к. в противном случае у вас будет смешанный протокол.
Чтобы убедиться — смотрите страницы через режим исходного кода и проходитесь поиском или любой краулер аля Screaming Frog, Netpeak и т.д.

Robots.txt и Sitemap.xml

В robots.txt чаще всего не нужно никаких изменений вносить (раньше нужно было добавить директиву для Яндекса: host: https://romanus.ru — но теперь это уже не нужно), кроме замены пути для sitemap.xml.

В самой карте сайта нужно изменить все ссылки. Если она у вас выводится автоматом + все ссылки в базе данных вы изменили — чаще всего никаких доработок не понадобится. Но лучше перепроверить:


В sitemap.xml не должно быть ссылок на незащищенный протокол

P.S. Многие рекомендуют делать исключения в .htaccess, чтобы robots.txt открывался по 2 протоколам. Я не делаю этого — проблем не замечал, но держу вас в курсе.

Как работает mod_rewrite. Указание параметров запроса и флаг [QSA]

RewriteRule заменяет строку, с которой оно работает, на часть второго аргумента до вопросительного знака

Обратите внимание, что новые параметры запроса не попадают в строку, с которой будут работать последующие правила RewriteRule.
Часть второго аргумента после вопросительного знака попадает в переменную %{QUERY_STRING}. Если был указан флаг , параметры запроса будут добавлены в начало %{QUERY_STRING}

Если флаг указан не был, %{QUERY_STRING} полностью заменится параметрами запроса из RewriteRule.

изменение параметров запроса изменяет %{QUERY_STRING} — Конечно, изменяется, ведь запрос уходит на повторную обработку Apache’м!изменяется сразу же

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

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

Adblock
detector