源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

asp.net下用url重写URLReWriter实现任意二级域名的方法第1/2页

  • 时间:2020-10-12 20:50 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp.net下用url重写URLReWriter实现任意二级域名的方法第1/2页
摘要: 解释了url重写的相关知识.用asp.net实现二级域名重写的方法.对重写的一些问题做了汇总解答.提供了几段示例代码. 好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在文章的后面回复(这是最有效的办法),我会尽力帮助大家解答疑惑. 来找这篇文章的,应该都知道什么叫二级域名吧,废话就不说了.但是讨论前,先要明白一个思想问题. 很多朋友一直考虑不清(我前几天也一直搞不明白)的问题是,我键入一个地址后,怎么这个url就被重写了? 第一步:在浏览器键入了一个地址,比如[url=http://love.kerry.com/]http://love.kerry.com[/url],点回车后,都发生了什么? 为了把问题简单化,我来这样解释: 第二步:首先,键入的地址被解析,最终来到了一台web服务器.交给IIS处理.在.net的世界中,IIS会把这样的请求再交给一个web处理器 处理,最后,该 web处理器 把处理的结果返回给浏览器,显示给用户看. 请不用忽略这样一个问题,第二步的所有事情都是在服务器端做的.在这些事情进行的时候,用户端的浏览器上面的地址不会改变.即使最后 web处理器 把处理结果返回来的时候,上面的地址也不会改变. 一开始键入的url,只是起一个敲门的作用,门敲完了,作用就算结束了,只有你的眼睛可以看到那个地址,浏览器,服务器等都不知道这个地址. 然后要明白的问题是,所谓url重写,也只是web开发人员知道的内幕情况,用户根本不知道发生了什么,他认为自己键入的地址就是应该出来屏幕上显示的结果.也就是说,我们在幕后控制要显示的内容. 接下来要考虑的是,怎么样控制显示的内容? 从上面说的过程,很明显要在 web处理器 的工作这一步动手脚. 一个最简单的考虑是,用户敲入了一个简单的不带任何参数地址, [url=http://love.kerry.com/]http://love.kerry.com[/url]然后我们把这个地址改成一个符合程序需要的带参数的地址, [url=http://kerry.com/?lover=notus]http://kerry.com?lover=notus[/url],最后处理之. 所谓的url重写,就是在这一步. 用.net的术语来说,我们需要给应用程序注册一个httpmodule,用来处理特定的url 注册httpmodule,在web.config, 处理url,在我们提供的httpmodule程序中 大体相当于这样的一段程序 //用我们的httpmodule程序截获原始url String OriginalUrl=” [url=http://love.kerry.com/]http://love.kerry.com[/url]”; //处理原始url,得到最后需要的url,值为[url=http://kerry.com/?lover=notus]http://kerry.com?lover=notus[/url] String FinalUrl=Rewrite(OriginalUrl); // context重新将url在内部发送给IIS处理 context.RewritePath(FinalUrl); 接下来,我们来实现url重写. 第一步:确定要对哪些url执行重写,即制定重写规则 第二步:编写httpmodule处理程序 第三步:将编写的httpmodule整合入web程序,开始工作. 上面就是url重写的基本知识,而用url重写实现二级域名,过程一样.因为无论是二级域名还是三级域名,都是一个url地址.只要我们截获这个url地址,就可以在处理的时候动手脚. 这些工作挺麻烦,但是网络上已经有高人给我们写了这样的程序,参看下面的文章: [url=http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx]http://www.microsoft.com/china/m ... t/URLRewriting.mspx[/url] [url=http://www.cnblogs.com/jzywh/archive/2005/09/29/246650.html]http://www.cnblogs.com/jzywh/archive/2005/09/29/246650.html[/url] [url=http://www.cnblogs.com/jzywh/archive/2006/02/20/334004.html]http://www.cnblogs.com/jzywh/archive/2006/02/20/334004.html[/url] 文章结束了.
当前1/2页 [b]1[/b][url=http://www.1sucai.cn/article/8542_2.htm]2[/url][url=http://www.1sucai.cn/article/8542_2.htm]下一页[/url][url=http://www.1sucai.cn/article/8542_all.htm]阅读全文[/url]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部