我正在尝试使用一个名为“rewritemaps.config”的单独配置文件,其中包含我要重定向的 URL。该文件位于根目录中(与 web.config 相同的位置)。我拥有的 Redirects.config 文件的格式是:
<rewriteMaps>
<rewriteMap name="Redirects">
<add key="aspx/drvmain.aspx"
value="http://www.newdomain.com/folder2/page2.aspx" />
<add key="aspx/jobs_AboutUs.aspx"
value="http://www.newdomain.com/folder1/jobs.aspx" />
<add key="aspx/page.aspx"
value="http://www.newdomain.com/folder1/page2.aspx" />
</rewriteMap>
</rewriteMaps>
在我的 web.config 文件中,我有:
<system.webServer>
<rewrite>
<rewriteMaps configSource="rewritemaps.config" />
<rules>
<rule name="Redirect rules">
<match url=".*" />
<conditions>
<add input="{Redirects:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" redirectType="Permanent"
url="{C:1}" appendQueryString="false" />
</rule>
</rules>
</rewriteMaps>
</rewrite>
</system.webServer>
在 IIS 管理器中(是的,我已经安装了 URL 重写模块),我什至已经针对我在 redirects.config 文件中的一个 URL 测试了规则和条件,它说它有效。但是当我尝试在浏览器中访问 URL 时,它并没有按照我指定的那样重定向。在 rewritemaps.config 文件中,我尝试放置完整的域,并尝试在 aspx 之前使用“/”。似乎没有任何效果。我不确定我在这里缺少什么。