各位asp.net中url重写是怎么实现的啊?有例子给发一下?万分感谢哦!

解决方案 »

  1.   

    http://blog.csdn.net/shixin1198/archive/2006/10/16/1336846.aspx
    原理:
    自己注册一个继承 IHttpModule 的类,然后在web.config里面注册。
    类如下:using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using RevencoWebDevelopSuite.HttpSecurity;namespace Module
    {
        /// <summary>
        /// Summary description for HttpModules
        /// </summary>
        public class rewriteHandleModule : IHttpModule
        {
            #region IHttpModule Members        public void Dispose()
            {        }        public void Init(HttpApplication context)
            {
                context.BeginRequest += new EventHandler(context_BeginRequest);
            }        void context_BeginRequest(object sender, EventArgs e)
            {
                HttpContext context = GetContext(sender);
                //context.Request.Path
                //根据你现在的路径进行分析,之后拼凑成合适的url,使用下面的方法进行跳转
               
                context.RewritePath("你导航的页面");
            }
            private HttpContext GetContext(object sender)
            {
                return ((HttpApplication)sender).Context;
            }
            #endregion
        }
    }
     <httpModules>
                <add name="rewriteHandleModule" type="Module.rewriteHandleModule" />
            </httpModules>
      

  2.   

     去下载 UrlRewriter.dll 
    <configSections>
        <section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter"/>
      </configSections>
      <CustomConfiguration>
        <urls>
          <add virtualUrl="~/CityActive/Index_(\d{0,9}).html" destinationUrl="~/CityActive/Index.aspx?id=$1"/>
          <add virtualUrl="~/CommercialService/Index_(\d{0,9}).html" destinationUrl="~/CommercialService/Index.aspx?id=$1"/>
          <add virtualUrl="~/HouseMessage/Index_(\d{0,9}).html" destinationUrl="~/HouseMessage/Index.aspx?id=$1"/>
          <add virtualUrl="~/LifeServes/Index_(\d{0,9}).html" destinationUrl="~/LifeServes/Index.aspx?id=$1"/>
          <add virtualUrl="~/MakingFriends/Index_(\d{0,9}).html" destinationUrl="~/MakingFriends/Index.aspx?id=$1"/>
          <add virtualUrl="~/Market/Index_(\d{0,9}).html" destinationUrl="~/Market/Index.aspx?id=$1"/>
          <add virtualUrl="~/Index.html" destinationUrl="~/Index.aspx"/>
          <add virtualUrl="~/live/live.html" destinationUrl="~/LifeServes/Live.aspx"/>
          <add virtualUrl="~/house/house.html" destinationUrl="~/HouseMessage/House.aspx"/>
          <add virtualUrl="~/job/job.html" destinationUrl="~/Job/Job.aspx"/>
          <add virtualUrl="~/news/news.html" destinationUrl="~/News/LocalInformation.aspx"/>
          <add virtualUrl="~/buy/buy.html" destinationUrl="~/Buy/GroupBuy.aspx"/>
          <add virtualUrl="~/business/business.html" destinationUrl="~/Business/BusinessShop.aspx"/>
        </urls>
      </CustomConfiguration>