重定向到/ en以获取IIS中的一个特定URL

时间:2019-05-25 11:53:24

标签: redirect iis url-rewriting

我的网站有2个网址

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>

1 个答案:

答案 0 :(得分:0)

这是我要解决的问题:

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