Хаки и Скрипты Next Generation CMS

Получил сертификат SSL. Как настроить редирект с http на https

irbees2008 irbees2008 Опубликовано - 17 - марта htaccess
1996 - 0
  • Уровень сложности исполнения: это делается простым копированием и нажиманием кнопки

Ну дали мне бесплатный сертификат ssl. Подключили через панель, но теперь надо настроить переадресацию чтобы сайт всегда открывался по безопасному https:// протоколу. Ну о переадресациях я уже написал не одну статью, поэтому немного повторимся.

Итак открываем файл .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} =on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

вариант для хостинга Агава
Код:
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

если все варианты не помогли и возникает циклическая переадресация:
вариант 3
Код:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
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]

Ещё на php xерез index.php
Код:
if(empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off"){
$redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $redirect);
exit();
}

Итак если у вас хостинг Windows то перейдите в каталог сайта и добавьте в файл web.config следующие строки:

Редирект для основного домена и всех поддоменов
Код:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

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

Код:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
<add input="{HTTP_HOST}" pattern="^domain\.ru" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

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

Можешь почитать и вот эту статейку "Закрываем картинки от воровства."

Опрос

Ваше мнение

Как вам наш дизайн сайта?
Результаты

Последние комментарии

Теги

Anything in here will be replaced on browsers that support the canvas element

Статистика

  • Caйту: 3458 дней
  • Новостей: 553
  • Комменты: 254
  • Зарегистрированно : 583
  • Онлайн всего: [9]
  • Гости: [8]
  • Поисковики: [1] Яндекс
  • Были сегодня : [1] Яндекс
  • SQL запросов: 32
  • Генерация страницы: 0.414сек
  • Потребление памяти: 5.151 Mb 
  •   яндекс.ћетрика