Главная/Установка/Редирект на https

Редирект на https: правила для Nginx, Apache и .htaccess

Редирект на https переводит посетителей со старого адреса http на защищённый и делается постоянным ответом с кодом 301. Правило пишут в конфиге веб-сервера или в файле .htaccess, а после настройки обязательно проверяют результат командой curl.

4 мин чтенияДанные проверены 19 октября 2026

Ответ за 30 секунд

Ответ должен быть 301 и с первого шага вести на https с тем же путём и параметрами. Сначала сертификат, потом редирект. Если включить редирект раньше сертификата, посетители увидят ошибку вместо сайта.

Редирект работает, когда на домене стоит действующий сертификат: бесплатный Let's Encrypt или платный, выпуск от 15 минут.

Как настроить редирект на https в WordPress и IIS

01 · 1 мин

Как сделать редирект с http на https в Nginx#

Порт 80 обслуживает отдельный короткий блок server, который ничего не отдаёт, а только отправляет посетителя дальше.

server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    return 301 https://example.com$request_uri;
}

Переменная $request_uri сохраняет путь и параметры запроса. Если все адреса надо оставлять как набраны, возьмите вместо домена переменную $host. Блок для порта 443 с сертификатом описан в SSL на Nginx.

Если сертификат ставит Certbot, он умеет добавить редирект сам: флаг --redirect в команде certbot --nginx включает автоматическую переадресацию, а --no-redirect её запрещает.

02 · 1 мин

Как сделать редирект на https в Apache и в .htaccess#

В основном конфиге Apache редирект ставят в виртуальном хосте порта 80:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    Redirect permanent / https://example.com/
</VirtualHost>

На виртуальном хостинге доступа к конфигу нет, поэтому те же действия выполняет модуль mod_rewrite. Положите правило в самое начало .htaccess, выше правил CMS:

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

Если перед Apache стоит прокси, он принимает https сам и передаёт Apache обычный http, поэтому условие по %{HTTPS} срабатывает на каждый запрос и сайт уходит в цикл. В такой схеме проверяют заголовок X-Forwarded-Proto:

RewriteCond %{HTTP:X-Forwarded-Proto} !https

Полная настройка виртуального хоста с сертификатом: SSL на Apache.

Инструмент · 1 мин

Как настроить редирект на https в WordPress и IIS#

В WordPress достаточно сменить в настройках оба адреса на https и добавить серверное правило выше, отдельный плагин не нужен. Порядок и работа со ссылками в базе: SSL на WordPress.

В IIS редирект делает модуль URL Rewrite: правило добавляют в секцию system.webServer файла web.config.

<rule name="HTTP to HTTPS" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTPS}" pattern="^OFF$" />
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>

Правило помещают внутрь элемента <rewrite><rules>. Привязку https и сертификат настраивают отдельно: SSL на IIS.

Где вам настроить редирект на https

Выберите, на чём работает сайт, и получите место для правила

На чём работает сайт

04 · 1 мин

Как проверить, что редирект с http на https работает#

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

curl -I http://example.com/page/?id=5

В ответе должна быть строка 301 Moved Permanently и заголовок Location с адресом на https, где сохранились путь и параметры. Затем проверьте цепочку: ключ -L заставляет curl идти по переадресациям.

curl -IL http://www.example.com/

Хороший результат: один переход на итоговый адрес. Если вы видите два перехода, например сначала на https с www, а затем на https без него, объедините правила в одно. Остальные способы проверки сайта: проверка SSL.

05 · 1 мин

Почему после редиректа на https сайт не открывается#

СимптомПричинаРешение
«Слишком много перенаправлений»Два редиректа спорят или прокси скрывает https от сервераОставьте одно правило, проверьте заголовок X-Forwarded-Proto
Ошибка сертификата сразу после редиректаСертификата на домене ещё нет или он на другое имяОтключите редирект, поставьте сертификат: установка SSL
Сайт открылся, но замка нетНа странице остались ссылки httpСмешанный контент
В поиске остались адреса httpРедирект временный (302) или нет канонических ссылокПоставьте 301, обновите sitemap

06 · 1 мин

Вопросы о редиректе на https#

Какой код ответа нужен для редиректа с http на https?

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

Как сделать редирект на https через .htaccess?

Включить RewriteEngine, добавить условие RewriteCond %{HTTPS} off и правило RewriteRule с флагами L и R=301. Всё это кладут в начало .htaccess.

Можно ли обойтись без редиректа на https, если сертификат уже есть?

Сайт будет открываться и по http, и по https, а поисковики посчитают их разными адресами. Редирект сводит их в один защищённый.

Нужно ли включать HSTS вместе с редиректом на https?

Не обязательно. HSTS запоминается браузером на срок max-age, поэтому включайте его, когда редирект проверен, и начните с небольшого значения.

Почему этому можно верить

Как мы проверяли

Документация и провайдерыКоманды выпуска и установки сверены с документацией, дата указана.
Всё можно повторитьКоманды certbot и openssl описаны так, что их повторит любой читатель.
Независимый справочникНе связан с центрами сертификации и честно говорит, когда хватает бесплатного SSL.

Источники цифр на этой странице: SSL-сертификаты Таймвеб, timeweb.com/ru/services/domains/ssl, проверено 19 октября 2026; Let's Encrypt: документация, letsencrypt.org/docs, проверено 19 октября 2026.

SBРедакция SSLBase · обновлено 19 октября 2026

Подключите SSL к сайту

От бесплатного Let's Encrypt до платных сертификатов GlobalSign с гарантийной выплатой и установкой под ключ. Любой можно вернуть за 7 дней.

  • Бесплатный Let's Encrypt на домен
  • Платные от 1 000 ₽ за 6 месяцев
  • Wildcard на все поддомены
  • 7 дней на возврат
CMS и IIS