ddc
联网
平面设计 画册 VI欣赏 包装 CG-插画 搜索 个人网页 Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校 专题欣赏 SEO 图标欣赏 专题
广州网站建设 上海网站设计 网站建设 上海网站建设 网站建设 广州网站设计 虚拟主机 域名注册 虚拟主机 广州网站建设 虚拟主机 域名注册 ACG动漫家园 ACG大玩家 上海网站建设 品牌设计 网站建设
网站建设
网站建设
品牌设计
中国设计秀
中国设计秀企业频道
时代网
中资源
当前位置:网络学院首页 >> 编程开发 >> .net >> ASP.NET中动态的重写URL

ASP.NET中动态的重写URL (2)

来源:中国设计秀    作者:    点击:252     加入收藏    发表评论
0
顶一下
方法二:使用HttpModule实现URL重写
     上述Request.PathInfo技术的替换方法是,利用ASP.NET提供的HttpContext.RewritePath方法。这个方法允许开发人员动态地重写收到的URL的处理路径,然后让ASP.NET使用刚重写过后的路径来继续执行请求。
  
  譬如,我们可以选择向大众呈示下列URL:
  
  
  http://www.store.com/products/Books.aspx
 
http://www.store.com/products/DVDs.aspx
 
http://www.store.com/products/CDs.aspx
  
  在外界看来,网站上有三个单独的网页(对搜索爬虫而言,这看上去很棒)。通过使用 HttpContext的RewritePath方法,我们可以在这些请求刚进入服务器时,动态地把收到的URL重写成单个Products.aspx网页接受一个查询字符串的类别名称或者PathInfo参数。譬如,我们可以使用Global.asax中的Application_BeginRequest事件,来这么做:

 void Application_BeginRequest(object sender, EventArgs e) {
  
   string fullOrigionalpath = Request.Url.ToString();
  
   if (fullOrigionalpath.Contains("/Products/Books.aspx")) {
   Context.RewritePath("/Products.aspx?Category=Books");
   }
   else if (fullOrigionalpath.Contains("/Products/DVDs.aspx")) {
   Context.RewritePath("/Products.aspx?Category=DVDs");
   }
   }
  
  手工编写象上面这样的编码的坏处是,很枯燥乏味,而且容易犯错。我建议你别自己写,而是使用网上现成的HttpModule来完成这项工作。这有几个你现在就可以下载和使用的免费的HttpModule:
  
  UrlRewriter.net
  UrlRewriting.net
  这些模块允许你用声明的方式在你应用的web.config文件里表达匹配规则。譬如,在你应用的web.config文件里使用UrlRewriter.Net模块来把上面的那些URL映射到单个Products.aspx页上,我们只要把这个web.config文件添加到我们的应用里去就可以了(不用任何编码):
  
  
  <?xml version="1.0"?>
  
  <configuration>
  
   <configSections>
   <section name="rewriter"
   requirePermission="false"
   type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
   </configSections>
  
   <system.web>
  
   <httpModules>
   <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
   </httpModules>
  
   </system.web>
  
   <rewriter>
   <rewrite url="~/products/books.aspx" to="~/products.aspx?category=books" />
   <rewrite url="~/products/CDs.aspx" to="~/products.aspx?category=CDs" />
   <rewrite url="~/products/DVDs.aspx" to="~/products.aspx?category=DVDs" />
   </rewriter>
  
  </configuration> 
 

[1] [2] [3] [4] [5] [6]
2007-07-25 09:51:00    出处:
Google
热点文章/相关文章

音乐
嫁衣 画心 放生 天亮了 牡丹江 那滋味 擦肩而过 怀念过去 北京欢迎你 突然好想你 吻的太逼真 说好的幸福呢 坐上火车去拉萨 没有人比我更爱你
愚爱 心碎 稻香 带我走 醉赤壁 魔杰座 我还想她 明天过后 一定要爱你 等爱的玫瑰 原谅我一次 越单纯越幸福 最后一次的温柔 给我一首歌的时间
白狐 光荣 降临 下雨天 小酒窝 樱花草 恋爱新手 说唱脸谱 红色高跟鞋 寂寞才说爱 深深爱过你 爱上你是个错 即使知道要见面 不是因为寂寞才想你
城府 假如 花海 兰亭序 棉花糖 舍不得 最后一次 女人如烟 外滩十八号 我们的纪念 我们的无奈 心在跳情在烧 爱上你是我的错 爱情里没有谁对谁错