Asp.net IIS 7.5重写模块循环
iis 7.5中的url重写规则有问题:Asp.net IIS 7.5重写模块循环,asp.net,redirect,iis,Asp.net,Redirect,Iis,iis 7.5中的url重写规则有问题: <rewrite> <rewriteMaps configSource="rewriteMap.Custom.config" /> <rules> <rule name="Redirects" patternSyntax="ECMAScript" stopProcessing="true"> <match url=".*" />
<rewrite>
<rewriteMaps configSource="rewriteMap.Custom.config" />
<rules>
<rule name="Redirects" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{Custom:{REQUEST_URI}}" pattern="(.*)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
<httpRedirect enabled="true" destination="https://www.newsite.com" exactDestination="true" />
rewriteMap.Custom.config:
<rewriteMaps>
<rewriteMap name="Custom">
<add key="/home" value="https://www.newsite.com/index" />
<add key="/contact" value="https://www.newsite.com/contactus" />
<add key="/main" value="https://www.newsite.com/mainpage" />
<rewriteMaps>
<rewriteMap>
重写映射中的所有重定向都有效,例如:
www.oldsite.com/home正确重定向到www.newsite.com/index
唯一的例外是当我输入www.oldsite.com时,它不会重定向
而对于www.newsite.com,它会不断循环通过请求到www.oldsite.com,Chrome会给出一个“太多重定向”错误
我试图修改规则,但我只是打破了它,以至于它根本不起作用 您重写的映射配置应该如下所示:
<rewriteMaps>
<rewriteMap name="Custom">
<add key="/" value="https://www.newsite.com/" />
<add key="/home" value="https://www.newsite.com/index" />
<add key="/contact" value="https://www.newsite.com/contactus" />
<add key="/main" value="https://www.newsite.com/mainpage" />
</rewriteMap>
</rewriteMaps>
<rules>
<rule name="Redirects" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{Custom:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" redirectType="Permanent" />
</rule>
</rules>
问题出在错误的
模式中
能否请您在您的问题中添加完整的
,因为您使用它只需将您所有的rewriteMap.Custom.config添加到answerrewriteMap.Custom.config:是一个示例重写映射,我无法在这里发布真实的映射,但它基本上与我制作的自定义映射相似。谢谢,我刚刚意识到根也需要添加。它很好用。