ASP.NET url重写

url重写


一、原理
void Application_BeginRequest(object sender, EventArgs e)
    {
        var Request = HttpContext.Current.Request;
        var Response = HttpContext.Current.Response;

        System.Text.RegularExpressions.Regex reg = new Regex(@"/default\-(\d{2})\.aspx",RegexOptions.IgnoreCase);
        Match match = reg.Match(Request.RawUrl);
        if (match.Success)
        {
            string s = match.Groups[1].Value;
            string url = "default.aspx?id=" + s;
            HttpContext.Current.RewritePath(url);
        }
    }
使用微软写好的  只需进行配置就好
 二、urlRewriter
0. 把类库复制到bin下 添加引用
1、在<configSections>节点加入
 <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
2、在</configSections>之后加入
 
  <RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor>~/(\d{4})/(\d{2})/Default\.aspx</LookFor>
        <SendTo>~/Default.aspx?ID=$1</SendTo>
      </RewriterRule>
   <RewriterRule>
        <LookFor>~/(\d{4})/(\d{2})/Default\.html</LookFor>
        <SendTo>~/Default.aspx?ID=$2</SendTo> <!--$2 是指的是 (\d{2})-->
      </RewriterRule>
    </Rules>
  </RewriterConfig>
3、<httpHandlers>中加入
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

posted @ 2011-11-28 10:09  bjlhx15  阅读(161)  评论(0编辑  收藏  举报
Copyright ©2011~2020 JD-李宏旭