关于url地址重写的配置问题我不想将一大堆地址重写配置写在web.config中,有什么比较简单的解决方法没有。

解决方案 »

  1.   

    1. 放数据库里或xml文件中.
    2. 用HttpHandler做重载.
      

  2.   

    补充一下,我使用的是urlrewriter.dll
      

  3.   

    就是说urlrewriter.dll不支持写在web.config外。
      

  4.   

    可以写在另一个XML文件中啊,也只要设置Web.config就可以了
      

  5.   

    用什么不想放在WEB.CONFIG里呢?
    实在不行的话可以把urlrewriter的配置放在一个新的配置文件里
    然后在WEB.CONFIG指定去读取新的配置文件
      

  6.   

     <urlrewriter configSource="urlrewriter.config" />
      

  7.   

    补充一下,我使用的是urlrewriter.dll
      

  8.   

        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            string oldUrl = HttpContext.Current.Request.RawUrl;
            string pattern = @"^(.+)newsclass/(\d+)\.aspx(\?.*)*$";
            string replace = "$1newsclass.aspx?id=$2";
            if (Regex.IsMatch(oldUrl, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled))
            {
                string newUrl = Regex.Replace(oldUrl, pattern, replace, RegexOptions.Compiled | RegexOptions.IgnoreCase);
                this.Context.RewritePath(newUrl);
            }
        }这是我实现urlrewirte的方法,不需要其他的东西
      

  9.   

    建议楼主参考这里,很好的解决方案,灵活配置,还支持正则表达式,配置信息在Web.Config中。
    在 ASP.NET 中执行 URL 重写
    http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx