Настройка редиректа через .htaccess

Настройка редиректа через .htaccess

  1. 1. Откройте вашу панель управления хостингом.
  2. 2. Откройте файл .htaccess. Он расположен в корневой папке сайта. Если файл .htaccess отсутствует, то создайте его.
  3. Нажмите по строке, где указана корневая папка домена. Затем нажмите правой кнопкой по файлу .htaccess и выберите в появившемся списке пункт Открыть/Изменить:
  4. 3. Добавьте в конце файла .htaccess одно из правил, которое подходит для вашего случая:

Редирект всех страниц с http:// на https://, в том числе и с http://www на https://

Вариант 1

RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] 

или воспользуйтесь вторым вариантом (если первый вариант не поможет):Вариант 2

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

Если все варианты не помогли и возникает циклическая переадресация, добавьте:

Вариант 3

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

Вариант 4

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

Редирект на HTTPS только выбранной страницы

В примерах ниже редирект настраивается для страницы login.php.

Вариант 1

RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} =/login.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Вариант 2

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} =/login.php
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

Редирект на сайт HTTPS всех страниц, кроме одной

В примере ниже редирект настраивается для страницы test.php.

RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} !^/test.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Сохраните изменения.

Готово. Теперь ваш сайт будет работать по протоколу HTTPS.