Сайт не перенаправляет с www на https

#web #iis #https

#веб #iis #https

Вопрос:

На IIS7 мой веб-сайт не перенаправляется с www.example.com чтобы https://example.com

Вместо этого он пытается открыть https://www.example.com

Вот файл web.config

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

                <rule name="HTTP TO HTTPS" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
                </rule>

                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="backend-api/(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{URL}" pattern="^/(backend-api)/.*" />
                    </conditions>
                    <action type="Rewrite" url="http://localhost:3033/{R:1}" />
                </rule>

                <rule name="AngularPageRefresh" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/" />
                </rule>
        </rules>
        <outboundRules>
            <preConditions>
                <preCondition name="ResponseIsHtml1">
                    <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                </preCondition>
            </preConditions>
        </outboundRules>
    </rewrite>
  </system.webServer>
</configuration>
 

Чего мне не хватает?

Комментарии:

1. docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/…

Ответ №1:

Вы можете использовать следующее правило:

 <rule name="test1" stopProcessing="true">
   <match url="^(.*)$" />
      <conditions>
         <add input="{HTTP_HOST}" pattern="^www.(. )$" />
      </conditions>
   <action type="Redirect" url="https://{C:1}" />
</rule>
 

введите описание изображения здесь

Комментарии:

1. Я добавил это как первое правило, но все равно вижу эту ошибку. Перезапущенный сервер, но тот же результат: (

2. Какую ошибку вы получили? Вы отключили другие правила? Затем очистите кэш вашего браузера и повторите попытку. или вы можете использовать отслеживание неудачных запросов для получения более подробной информации об ошибках.