У меня есть 2 URL для моего сайта
1: домен1.com 2: домен2.com
Я хочу перенаправить «domain2.com» на «domain2.com/en», и если запрашивается domain1.com, я не хочу, чтобы он перенаправлялся.
гуглил часами, но не нашел обходного пути.
вот что я написал до сих пор, и возвращается: domain2.com перенаправлял вас слишком много раз.
<rule name = "NAME" patternSyntax = "Wildcard" stopProcessing = "true">
<match url = "*" />
<conditions logicalGrouping = "MatchAny">
<add input = "{HTTP_HOST}" pattern = "*domain2.com*" />
</conditions>
<action type = "Redirect" appendQueryString = "false" url = "http://domain2.com/en/{C:2}" redirectType = "Permanent" />
</rule>
Я добавил еще одно условие -> "<add input = "{HTTP_HOST}" pattern = "domain2.com/ru/" negate = "true" />", и это не помогло. та же ошибка
Это потому, что заголовок хоста никогда не содержит /en/
Вместо этого я попробовал «строку запроса». Это тоже не сработало. Что ты посоветуешь?
Всегда обращайтесь к документации Microsoft, чтобы начать работу, docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/…
@LexLi Спасибо за ваше время. размещу ответ здесь
Вот что я сделал для решения проблемы:
<rewrite>
<rules>
<clear />
<rule name = "redirect to en" patternSyntax = "ECMAScript" stopProcessing = "true">
<match url = "(.*)" />
<conditions logicalGrouping = "MatchAll" trackAllCaptures = "false">
<add input = "{URL}" pattern = "(.*)/en/(.*)" negate = "true" />
<add input = "{URL}" pattern = "(.*)/Scripts/(.*)" negate = "true" />
<add input = "{URL}" pattern = "(.*)/Content/(.*)" negate = "true" />
<add input = "{URL}" pattern = "(.*)/fonts/(.*)" negate = "true" />
<add input = "{HTTP_HOST}" pattern = "(.*)domain1.com(.*)" negate = "true" />
</conditions>
<action type = "Redirect" url = "/en/{R:1}" appendQueryString = "false" />
</rule>
</rules>
</rewrite>
Вы забыли, что для этого правила даже
http://domain2.com/en/
будет перенаправлено на себя, и поэтому происходит «слишком много раз». Изучите некоторые регулярные выражения, чтобы вы могли писать шаблоны для исключения/en/
из этого правила.