以下是你一个简单示例

一.新建一个空的网页项目程序:

二.将以下代码写在单独的类中,然后在页的CS文件中引入

using System;

using System.IO;

using System.Web;

using System.Web.UI;

namespace URL

{

    public class OLPage : Page

    {

        public OLPage()

        { }

        protected override void Render(HtmlTextWriter writer)

        {

            if (writer is System.Web.UI.Html32TextWriter)

            {

                writer = new FormFixerHtml32TextWriter(writer.InnerWriter);

            }

            else

            {

                writer = new FormFixerHtmlTextWriter(writer.InnerWriter);

            }

            base.Render(writer);

        }

    }

    internal class FormFixerHtml32TextWriter : System.Web.UI.Html32TextWriter

    {

        private string _url; // 假的URL

        internal FormFixerHtml32TextWriter(TextWriter writer)

            : base(writer)

        {

            _url = HttpContext.Current.Request.RawUrl;

        }

        public override void WriteAttribute(string name, string value, bool encode)

        {

            if (_url != null && string.Compare(name, “action”, true) == 0)

            {

                value = _url;

            }

            base.WriteAttribute(name, value, encode);

        }

    }

    internal class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter

    {

        private string _url;

        internal FormFixerHtmlTextWriter(TextWriter writer)

            : base(writer)

        {

            _url = HttpContext.Current.Request.RawUrl;

        }

        public override void WriteAttribute(string name, string value, bool encode)

        {

            if (_url != null && string.Compare(name, “action”, true) == 0)

            {

                value = _url;

            }

            base.WriteAttribute(name, value, encode);

        }

    }

}

三.以WEB配置文件写成如下:

<?xml version=”1.0″?>

<!–overred–>

<configuration>

    <configSections>

        <section name=”RewriterConfig” 

type=”URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter”/>

    </configSections>

    <RewriterConfig>

        <Rules>

            <RewriterRule>

                <LookFor>~/d(\d+)\.aspx</LookFor>

                <SendTo>~/default.aspx?id=$1</SendTo>

            </RewriterRule>

      <RewriterRule>

        <LookFor>~/d(\d+)\.html</LookFor>

        <SendTo>~/default.aspx?id=$1</SendTo>

      </RewriterRule>

        </Rules>

    </RewriterConfig>

    <system.web>

        <httpHandlers>

            <add verb=”*” path=”*.aspx” 

type=”URLRewriter.RewriterFactoryHandler, URLRewriter”/>

      <add verb=”*” path=”*.html” type=”URLRewriter.RewriterFactoryHandler, URLRewriter”/>

        </httpHandlers>

        <compilation debug=”true”/></system.web>

</configuration>

四.将URLRewriter.dll文件下载,并将其放到要目录的BIN目录内

五.将要实现转发的页的CS文件的将继承改为url.OLPage

例:

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using URL;

public partial class _Default :URL.OLPage

{

    protected void Page_Load(object sender, EventArgs e)

    {

        if (Request.QueryString.Count > 0)

        {

            Response.Write(Request.QueryString[“id”].ToString());

        }

    }

}

最后,可以在将d4646.html或d454.aspx的页面转发到default.aspx?id=4646或default.aspx?id454

例:http://localhost:4875/URLRewriteTest2/d4546.html

实际为:http://localhost:4875/URLRewriteTest2/default.aspx?id=4546