常用的URL-Rewrite方案 URL-Rewrite既可以发生在Web服务器(IIS/Apache)一级,也可以发生在Web应用程序一级(Asp.Net/Jsp/PHP/…)。
URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程。重写URL是非常有用的一个功能,因为它可以让你提高搜索引擎阅读和索引你的网站的能力;而且在你改变了自己的网站结构后,无需要求用户修改他们的书签,无需其他网站修改它们的友情链接;它还可以提高你的网站的安全性;而且通常会让你的网站更加便于使用和更专业。
在这里对/Pd/Book.aspx的请求被重写到了 /Pd.aspx?Cg=books. Web应用程序级别的URL-Rewrite只能重写Web应用程序接管的请求。它没有办法处理.js .jpg的重写。原因是这些请求到达IIS后,IIS根本就没有把这些请求分发到Asp.Net,所以这些请求就不会发生重写的处理和操作。在IIS中可以配置,对哪些后缀的请求是被IIS分发到Asp.Net的。
在请求管道中的第一个请求管道中拦截url并使其完成url重写功能:
1.熟悉请求管道实现程序运行的全过程:
(1):BeginRequest: 开始处理请求 (2):AuthenticateRequest授权验证请求,获取用户授权信息 (3):PostAuthenticateRequest获取成功 (4): AunthorizeRequest 授权,一般来检查用户是否获得权限 (5):PostAuthorizeRequest:获得授权
|