Configurando o módulo de reescrita do IIS para redirecionar qualquer nome de host para um nome de host específico

Configurando o módulo de reescrita do IIS para redirecionar qualquer nome de host para um nome de host específico

Tenho um site cujo nome estou mudando de exemplo.com para novoexemplo.com. Meu processo de pensamento (comente isso também, pois minha abordagem pode estar incorreta) foi configurar um redirecionamento permanente de http:(s)://.exemplo.com/(Eu não estou usando ''no sentido literal de regex aqui) parahttps://www.newexample.com/.

Na seção de regras de reescrita, adotei a seguinte abordagem:

<rewrite>
  <rules>
    <rule name="Redirect to newexample.com">
      <match url=".*" />
      <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern=".*" negate="true" />
      </conditions>
      <action type="Redirect" url="https://www.newexample.com/{R:0}" redirectType="Permanent"/>
    </rule>
  </rules>
</rewrite>

Pelo que entendi as regras acima é que QUALQUER nome de host será redirecionado para "https://www.newexample.com/whatever", deixando todos os outros aspectos do URL solicitado como estão, mas não estou sendo redirecionado usando nenhuma combinação que tentei até agora.

Responder1

Remova todo o conditionsnó da sua regra.

Você tem o mesmo padrão na condição e na regra, o que a torna redundante, exceto pelo negate="true"atributo que é o motivo pelo qual não funcionou.

A regra corresponde a tudo, mas a condição bloqueia tudo, então nada é redirecionado.

Use condições apenas se você realmente precisar delas para limitar ainda mais as solicitações correspondidas pela regra.

informação relacionada