URL重写原理基本上是 在客户端实现的,你请求一个地址,服务器上如果没有这个文件,按照一定的规则请求其他的文件,或者是地址.
其实就是把.html的执行放在.aspx底下执行,但我们看到的只是.html的
1.浏览器输入一个地址(重写后的地址),IIs肯定能解析这个地址,如果不能,先添加 映射,就是选择相应的程序来处理这个请求,否则没法处理。
2.IIs找到相应的程序来处理请求的文件,如 asp.net利用 HttpModule 或者httpHandler来获取这个地址,把这个地址按照规则还原成原来的地址,重定向这个还原的地址,就可以正常解析了。
URL重写很好理解。
首先URL是什么?URL就是浏览器地址栏中的地址,通常以超文本传输协议HTTP为主,例如:http://domain.com 大小写无所谓。那么什么是重写?为什么要重写?
用一个例子来说明,重写一般是针对动态脚本文件而言,例如:.php .aspx .asp .jsp 等动态脚本文件。例如一个地址:http://domain.com/list.php?id=100&page=10 一般这样的地址是需要重写的,因为文件后面有GET传参,而且参数过多或过长都不便于人的记忆,而且搜索引擎收录该网站网址也不敏感。所以这个时候需要运用Web 服务器软件中的URL重写功能来重新指向一个静态的.html地址(这种方法又叫做“伪静态”)不是真的静态文件,只是地址栏显示的是静态格式而已,而这一技术核心是用正则表达式匹配实现,Web服务器软件有很多,比如:Apache/IIS都可以实现伪静态功能。例如:list.php?id=100&page=10 => list-100-10.html,这就是一个重写的实现,而 list-100-10.html 这个文件,实质性还是个动态脚本文件,只是通过Web 服务器软件“欺骗了”浏览器而已。
明白了?
哎呀,原来是12年的问题了,一不小心就回复了,还是希望对你有用吧!
@石不易: 嘻嘻,谢谢