zoukankan      html  css  js  c++  java
  • 关于URL的地址重写,自己也实验了一把!

    看了cnblogs上很多朋友的重写方式,最简单的无非就是用application_begienstart来实现,各位朋友在网上搜也会一大把,如果你觉的喜欢用 MS的urlrewriter,其实也不错,但个人认为,自己写的东西自己最了解,用起来也得心应手。
     
    开始试验了:
    第一步我现在web.config的<system.web></system.web>中加入 :

     <httpHandlers>
          <add verb="*" path="*.html" type="HtmlHttpHandler"/>
     </httpHandlers>

    第二步编写URL重写规则,我一般用XML来记录重写规则内容,这样就可以遍历搜索规则匹配
    <?xml version="1.0" encoding="utf-8" ?>
    <route>
          <page rewrite="/default/list/5.html" url="/default.aspx?type=list&id=5"></page>
          <page rewrite="/show/5.html" url="/show.aspx?id=5"></page>
          .......
    </route>

    第三步开始编写重写类库
    创建一个处理URL地址处理规则类文件,读取XML信息,匹配URL重写规则,替换成原始URL地址。
    创建一个继承IHttpHandler的重写处理类文件,重写URL匹配所获取的真实的URL地址后,用context.Server.Execute(真实地址)来输出真实地址页面内容
     
    建议在匹配URL重写的过程中,XML文件里重写规则信息最好是预先载入,否则每个访问用户不可能每次读取重复读取XML配置信息!
    源代码本人会稍后送上! 
  • 相关阅读:
    [Luogu] 封锁阳光大学
    [other] Div
    [USACO11DEC] 牧草种植Grass Planting
    [Luogu] 仓鼠找sugar
    [USACO15DEC]最大流Max Flow
    [noip-2013] 货车运输
    [模板] 普通平衡树
    [Luogu] 树链剖分
    [ZJOI2008] 树的统计Count
    大组合数取模
  • 原文地址:https://www.cnblogs.com/rjf1979/p/1429365.html
Copyright © 2011-2022 走看看