ASP.NET / IIS7 Url重写映射不起作用

我按照说明 Learn IIS’s webpage为我的asp.net应用程序添加了重写映射的静态重定向.

以下是配置:

<rule name="Redirect rule1 for information" stopProcessing="true">
    <match url=".*" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{information:{REQUEST_URI}}" pattern="(.+)" />
    </conditions>
    <action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>

<rewriteMaps>
    <rewriteMap name="information">
        <add key="/information/CorporateSales.aspx"
             value="/KB/information/CorporateSales" />
        <add key="/information/ComputerRepair.aspx"
             value="/KB/information/ComputerRepair" />
    </rewriteMap>
</rewriteMaps>

这甚至最初是由IIS管理器中的向导创建的,用于使用重写映射.

所以想法是/information/CorporateSales.aspx – > / KB / information / CorporateSales具有301重定向(永久移动).

但是我只是加载原始的aspx页面(我们将在以后删除).我甚至删除文件,因为它认为现有资源,并且我只是得到一个没有重定向的普通404.

有人有想法吗?

让我澄清一下:

重写模块工作,它已安装并运行.我的标准正则表达式规则运行良好.但我的重写地图却没有.

解决方法

这篇文章 http://www.iis.net/learn/extensions/url-rewrite-module/using-rewrite-maps-in-url-rewrite-module和下面的代码我有用.
<rewrite>
    <rules>
        <rule name="Redirect rule1 for RedirectURLs">
            <match url=".*" />
            <conditions>
                <add input="{RedirectURLs:{REQUEST_URI}}" pattern="(.+)" />
            </conditions>
            <action type="Redirect" url="{C:1}" appendQueryString="false" />
        </rule>
    </rules>
    <rewriteMaps>
        <rewriteMap name="RedirectURLs">
            <add key="/privacy.PHP" value="/privacy" />
        </rewriteMap>
    </rewriteMaps>
</rewrite>

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....