Redirect 针对IIS中的一个特定url重定向到/en

Redirect 针对IIS中的一个特定url重定向到/en,redirect,iis,url-rewriting,Redirect,Iis,Url Rewriting,我的网站有2个URL 1:domain1.com 2:domain2.com 我想将“domain2.com”重定向到“domain2.com/en”,如果请求了domain1.com,我不希望它被重定向 谷歌搜索了几个小时,但找不到解决办法 以下是我到目前为止所写的内容,并返回: domain2.com重定向您的次数太多 <rule name="NAME" patternSyntax="Wildcard" stopProcessing="true"> <

我的网站有2个URL

1:domain1.com 2:domain2.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>

以下是我为解决问题所做的:

         <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>

以下是我为解决问题所做的:

         <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/
从该规则中排除。我添加了另一个条件->”,但没有帮助。同样的错误,这是因为主机头从不包含/en/我尝试了“查询字符串”而不是该字符串。它也不起作用。您有什么建议?请始终参考Microsoft的文档开始,您忘记了一个事实,即对于此规则,甚至
http://domain2.com/en/
将被重定向到自身,这就是“太多次”发生的原因。学习一些正则表达式,这样您就可以编写模式,将
/en/
从该规则中排除。我添加了另一个条件->”,但没有帮助。同样的错误,这是因为主机头从不包含/en/我尝试了“查询字符串”而不是该字符串。它也不起作用。您有什么建议?请始终参考Microsoft的文档开始,