2778
- 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>
Ну вот вроде и все, ни чего сложного, также смотрите документацию для вашего хостинга, задавайте вопросы в техподдержку хостинга, да и просто по гуглите .
Можешь почитать и вот эту статейку "Хак cкользящая панель - Portamento "
Это тоже интересно
- 21.07.15Скрипт редиректа внешних ссылок
- 06.12.18Как включить кэш браузера ?
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.