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


摘要:
解释了url重写的相关知识.用asp.net实现二级域名重写的方法.对重写的一些问题做了汇总解答.提供了几段示例代码.

好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在文章的后面回复(这是最有效的办法),我会尽力帮助大家解答疑惑.

来找这篇文章的,应该都知道什么叫二级域名吧,废话就不说了.但是讨论前,先要明白一个思想问题.
很多朋友一直考虑不清(我前几天也一直搞不明白)的问题是,我键入一个地址后,怎么这个url就被重写了?
第一步:在浏览器键入了一个地址,比如http://love.kerry.com,点回车后,都发生了什么?
为了把问题简单化,我来这样解释:
第二步:首先,键入的地址被解析,最终来到了一台web服务器.交给IIS处理.在.net的世界中,IIS会把这样的请求再交给一个web处理器 处理,最后,该 web处理器 把处理的结果返回给浏览器,显示给用户看.
请不用忽略这样一个问题,第二步的所有事情都是在服务器端做的.在这些事情进行的时候,用户端的浏览器上面的地址不会改变.即使最后 web处理器 把处理结果返回来的时候,上面的地址也不会改变.
一开始键入的url,只是起一个敲门的作用,门敲完了,作用就算结束了,只有你的眼睛可以看到那个地址,浏览器,服务器等都不知道这个地址.
然后要明白的问题是,所谓url重写,也只是web开发人员知道的内幕情况,用户根本不知道发生了什么,他认为自己键入的地址就是应该出来屏幕上显示的结果.也就是说,我们在幕后控制要显示的内容.
接下来要考虑的是,怎么样控制显示的内容?
从上面说的过程,很明显要在 web处理器 的工作这一步动手脚.

一个最简单的考虑是,用户敲入了一个简单的不带任何参数地址, http://love.kerry.com然后我们把这个地址改成一个符合程序需要的带参数的地址, http://kerry.com?lover=notus,最后处理之.
所谓的url重写,就是在这一步.
用.net的术语来说,我们需要给应用程序注册一个httpmodule,用来处理特定的url
注册httpmodule,在web.config,
处理url,在我们提供的httpmodule程序中

大体相当于这样的一段程序

//用我们的httpmodule程序截获原始url
String OriginalUrl=” http://love.kerry.com”;
//处理原始url,得到最后需要的url,值为http://kerry.com?lover=notus
String FinalUrl=Rewrite(OriginalUrl);
// context重新将url在内部发送给IIS处理
context.RewritePath(FinalUrl);

接下来,我们来实现url重写.
第一步:确定要对哪些url执行重写,即制定重写规则
第二步:编写httpmodule处理程序
第三步:将编写的httpmodule整合入web程序,开始工作.

上面就是url重写的基本知识,而用url重写实现二级域名,过程一样.因为无论是二级域名还是三级域名,都是一个url地址.只要我们截获这个url地址,就可以在处理的时候动手脚.

这些工作挺麻烦,但是网络上已经有高人给我们写了这样的程序,参看下面的文章:

http://www.microsoft.com/china/m ... t/URLRewriting.mspx

http://www.cnblogs.com/jzywh/archive/2005/09/29/246650.html

http://www.cnblogs.com/jzywh/archive/2006/02/20/334004.html


文章结束了.



相关阅读:
HTML表格标记教程(5):亮边框色属性BORDERCOLORLIGHT
来自PHP.NET的入门教程
JS延迟加载(setTimeout) JS最后加载
MySQL数据导入导出方法与工具(2)
如何用Windows 7开启或关闭屏幕键盘
CSS实现 Firefox 和 IE 都支持的半透明效果
CSS Border属性制作小三角
CSS教程:制作对用户友好的站内搜索表单
JavaScript 常用函数库详解
Win2008虚拟化实战之启用Hyper-V功能
CSS教程:CSS变换(transition)
找回音频文件右键-属性-摘要 选项卡的操作方法
jQuery MD5加密实现代码
PHP新手上路(六)
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 我爱家乡的小池塘 友情幸运草[6]作文3000字 你用什么回忆我 我的同学--杜洋 三八演讲稿 中学关于家长会通知书 笑着流泪(伤感语录) 曾经的初恋,美丽我现在的人生 可爱的“小猪倌”500字 证券投资学学习心得(精选5篇) 一切都没了 天井下的花儿 《我们的故事》5 大意失荆州1000字 清高的草作文 你的成长需要的不是时光,更需要的是磨难 高一地理下学期教学计划2 银行里的男孩读后感 现实与人情与自尊 天生我材必有用的后一句是什么?天生我材必有用下一句_古诗词名句欣赏 写北戴河的作文 共产党宣言读后感1500字 第二职专作文250字 小学五年级作文400字:谢谢您给我的爱 八年的爱,恰似岁月的温柔 qq个性说说:暗恋是成功的哑剧,说出来就成了悲剧 小学六年级作文400字:公园的一角 参观东钱湖水厂作文 网恋是否真的可靠!!!! 美好人生 学会时常感悟9件事 胆小的我作文250字 在荒烟蔓草的年代 朝中措.古丈茶香 小学小考作文500字:坚持就是胜利 踏浪(友谊篇) 文具们的哭诉作文600字 人生如水作文 入党申请书 范文模板 【励志故事】“除了妻儿,一切都要变” 成功名言(五) 恋上蒲公英的蝴蝶 护理部学习交流体会 机要资料管理者工作心得感言 为什么说大多数创业点子是没用的? 小学五年级作文900字:欣赏生命 2016年司法局长年终述职报告 爱是生命永恒的主题——《女人和狐狸的一个上午》读后感 商品进入消费领域后不一定是商品 小学五年级作文1200字:我爱“开后门”的老师 失去后的珍惜作文700字

Copyright © 2016 phpStudy |