Redirect 针对IIS中的一个特定url重定向到/en
我的网站有2个URL 1:domain1.com 2:domain2.com 我想将“domain2.com”重定向到“domain2.com/en”,如果请求了domain1.com,我不希望它被重定向 谷歌搜索了几个小时,但找不到解决办法 以下是我到目前为止所写的内容,并返回: domain2.com重定向您的次数太多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"> <
<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的文档开始,