zoukankan      html  css  js  c++  java
  • URL重写 UrlRewrite

    为什么要URL重写?

    1、有利于SEO,带参数的URL权重较低;
    2、地址看起来更正规,推广uid

    伪静态:看起来像普通页面,而非动态生成的页面。
    原理:在Global.asax的Application_BeginRequest 中读取Request.Url 得到请求的URL(View-3.aspx)
         然后用HttpContext.Current.RewritePath(ReWriteUrl)进行重写(也就是交由另外一个页面处理这个请求)(View.aspx?tid=3格式)
    http://www.cnblogs.com/hd/archive/2005/06/20/177633.html
    也可以使用微软的URLRewrite,只要修改配置文件就可以进行URL重写

    案例:URL重写,将 view-3.aspx之类的重写成 view.aspx?id=3

    1.View.aspx.cs的设计,lbmsg 是一个服务端Lab控件

    string id =  Request["id"];
           if (id != null)
              {
                  int val = Convert.ToInt32(id);
                  switch (val)
                  {
                      case 1:
                          lbmsg.Text = "第一名!就是你!";
                          break;
                      case 2:
                          lbmsg.Text = "第二是最好的!";
                          break;
                      case 3:
                          lbmsg.Text = "虽然你是第三,我相信你能成功!";
                          break;
                      default:
                          lbmsg.Text = "革命尚未成功!同志仍需努力!";
                          break;
                  }
              }

    2.Global.asax 设计

    protected void Application_BeginRequest(object sender, EventArgs e)
        {
           Regex reg = new Regex(@".+View-(d+).aspx");  //定义一个正则表达式,()可用于分组
           var match = reg.Match(HttpContext.Current.Request.Url.AbsolutePath); //匹配当前用户输入的URL路径
           if (match.Success) //判断是否匹配成功
            {
              string id = match.Groups[1].Value;         //得到第一组的值
              HttpContext.Current.RewritePath("View.aspx?id=" + id);  //将页面重定向,转交请求
            }
        }

     3. 当用户输入 View-3.aspx 时,自动当 View.aspx?id=3 的处理

  • 相关阅读:
    阿里在线笔试总结
    JAVA断言使用
    小心人员中的薄弱点
    Ubuntu 12.04.4 LTS下linphone-android编译记录
    Java基础:异常的限制
    Java基础:小知识点
    js正则表达式中和\
    Maven管理下Struts、Hibernate编译过程中配置文件缺失导致的“No result defined for action”和getSession()发生“NullPointerException”的解决办法
    Java基础:final关键字
    Java基础:复用类
  • 原文地址:https://www.cnblogs.com/xgao/p/4174255.html
Copyright © 2011-2022 走看看