Перейти к основному содержанию
 

IIS — редирект с HTTP на HTTPS плюс убираем WWW

IIS 10

Правим файл web.config для настройки редиректа.

Редирект с HTTP на HTTPS

Для всех доменов.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="Redirect from HTTP to HTTPS" stopProcessing="true">
                    <match url="^(.*)$" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Убираем с домена WWW

Для всех доменов. Работает и для HTTP и для HTTPS.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="Redirect to remove www" stopProcessing="true">
                    <match url="^(.*)$" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^www\.(.*)$" />
                    </conditions>
                    <action type="Redirect" redirectType="Permanent" url="{SchemeMap:{HTTPS}}://{C:1}/{R:1}" appendQueryString="true" />
                </rule>
            </rules>
            <rewriteMaps>
                <rewriteMap name="SchemeMap">
                    <add key="on" value="https" />
                    <add key="off" value="http" />
                </rewriteMap>
            </rewriteMaps>
        </rewrite>
    </system.webServer>
</configuration>

Редирект с HTTP на HTTPS плюс убираем WWW

Для всех доменов, включая мультисайт.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="Redirect from HTTP to HTTPS" stopProcessing="true">
                    <match url="^(.*)$" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
                </rule>
                <rule name="Redirect to remove www" stopProcessing="true">
                    <match url="^(.*)$" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^www\.(.*)$" />
                    </conditions>
                    <action type="Redirect" redirectType="Permanent" url="https://{C:1}/{R:1}" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Теги