Все современные CMS умеют сами правильно определять доступность протокола HTTPS и переключать сайт на его работу. Поэтому, прежде чем вносить изменения в конфигурацию веб-сервера, посмотрите в настройках вашей CMS соответствующие разделы. Одновременное включение перенаправлений через настройки CMS и конфигурацию веб-сервера, может нарушить работу вашего сайта.
Содержание |
Добавьте в файл Web.config в секцию <system.webServer> следующий код для безусловной переадресации на https версию сайта
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<conditions>
<add input="{HTTP_X_Forwarded_Proto}" negate="true" pattern="^https$" ignoreCase="true" />
<add input="{HTTP_HOST}" pattern="(^|\.)1gb\.ru$" negate="true" />
</conditions>
<match url="(.*)" />
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
Если необходим редирект с кодом 302, то используйте следующий код:
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<conditions>
<add input="{HTTP_X_Forwarded_Proto}" negate="true" pattern="^https$" ignoreCase="true" />
<add input="{HTTP_HOST}" pattern="(^|\.)1gb\.ru$" negate="true" />
</conditions>
<match url="(.*)" />
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
Для управления режимами работы сайта по HTTPS, используйте раздел личного кабинета Полный список функций -> Параметры работы бесплатного SSL / HTTPS на общем IP
Добавьте в файл .htaccess следующий код для безусловной переадресации на https версию сайта
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R=301,L]
Если необходим редирект с кодом 302, то используйте следующий код:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R=302,L]
При работе сайта по HTTPS протоколу, веб-сервер формирует следующие HTTP заголовки и их значения:
X-Forwarded-Proto: https X-Forwarded-Port: 443 HTTPS: on
X-Forwarded-Proto - рекомендуемый к использованию
Анализируя их в своем приложении, вы можете самостоятельно задавать логику работы сайта, определяя необходимость редиректов.