我正在尝试将域重定向设置为域迁移的一部分。我的警告是,我要重定向的站点位于更广泛域的子文件夹中。我还需要保留其余的路径和查询字符串。
我需要在web.config中设置重定向以实现以下目的:
我已经尝试过:
<httpRedirect enabled="true" destination="https://www.domain1.com$V$Q" httpResponseStatus="Temporary" exactDestination="true" />
但这不会删除“ mysite”子文件夹。它重定向到https://www.domain2.com/mysite而不是https://www.domain2.com
我也尝试过创建重写规则,但是我无法弄清有效的输入和正则表达式。
TIA。
答案 0 :(得分:1)
您可以在URL重写中使用两个规则:
<rule name="remove-my-site">
<match url="^mysite/([/_0-9a-z-]+)"/>
<action type="Rewrite" url="{R:1}"/>
</rule>
<rule name="domain1-to-domain2">
<match url=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="domain1.com" />
</conditions>
<action type="Redirect" url="http://www.domain2.com/{R:0}" />
</rule>
您不会使用httpRedirect做到这一点。它用于简单的重写。
您还可以查看Application Request Routing文档,以使用IIS配置反向路由器。
我们可能错过的是这一步:
启用反向代理功能