У меня есть сайт, имя которого я меняю с example.com на newexample.com. Мой ход мыслей (пожалуйста, прокомментируйте это, так как мой подход может быть неверным) был в том, чтобы настроить постоянное перенаправление с http:(s)://.example.com/(Я не использую '' в буквальном смысле регулярного выражения)https://www.newexample.com/.
В разделе правил переписывания я применил следующий подход:
<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>
Насколько я понимаю приведенные выше правила, ЛЮБОЕ имя хоста будет перенаправлено на "https://www.newexample.com/whatever", оставив все остальные аспекты запрошенного URL-адреса как есть, но я не получаю перенаправления ни при одной из комбинаций, которые я пробовал до сих пор.
решение1
Удалите весь conditions
узел из правила.
В условии используется тот же шаблон, что и в правиле, что делает его избыточным, за исключением атрибута, negate="true"
из-за которого оно не сработало.
Правило соответствует всему, но затем условие все блокирует, поэтому ничего не перенаправляется.
Используйте условия только в том случае, если они действительно необходимы для дальнейшего ограничения запросов, соответствующих правилу.