首页 > 解决方案 > 为什么我的 url 重定向命令无法正常工作?

问题描述

我有一个内部网站http://example/。我需要将所有流量重定向到新的内部站点 ( http://newexample/) ,但以下两个子文件夹中的所有内容除外:

  1. /Admin/
  2. /API/Test/

这是我尝试过的:

<rewrite>
    <rules>
        <rule name="Redirect Example" enabled="true" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{REQUEST_URI}" pattern="^Admin/.*" negate="true"/>
                    <add input="{REQUEST_URI}" pattern="^API/Test/.*" negate="true"/>                       
            </conditions>
            <action type="Redirect" url="http://newexample/" appendQueryString="true" redirectType="Found" />
        </rule>
    </rules>
</rewrite>

我遇到的问题是它正在重定向所有内容,包括两个子文件夹中的内容。我还尝试删除negate导致没有页面被重定向的属性。我在这里做错了什么?

标签: redirecturl-rewritingiis-7.5

解决方案


你只需要对你的规则做一些小的改变。

<rule name="Redirect Example" enabled="true" stopProcessing="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{REQUEST_URI}" pattern="^/Admin/.*" negate="true" />
                    <add input="{REQUEST_URI}" pattern="^/API/Test/.*" negate="true" />                       
        </conditions>
        <action type="Redirect" url="http://newexample/" appendQueryString="true" redirectType="Found" />
    </rule>

在此处输入图像描述


推荐阅读