一、配置IIS6
在IIS下配置“应用程序映射”,也就是对于不同的扩展名(.php、.html、.asp、.aspx等)都有谁来处理
这里我们选择“通配符应用程序映射”,也就是把所有扩展名,包括没有扩展名的,或者以/结尾的url,都发送到ASP.NET来处理。
ASP.NET处理这些文件的程序,也就是“可执行文件”是:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_isapi.dll,这个文件。
确认文件是否存在不要选,因为url重写后很多情况都是没有对应文件的。
二、在自己的网站中引用微软的UrlRewriter组件
微软的URL重写类在这里下载,下载后只需编译里面的URLRewriter类为DLL文件,然后在你的项目中做个引用就可以了。
http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx
三、在网站的web.config文件里注册UrlRewriter组件并添加改写规则
web.config里面有两部分配置用于注册UrlRewriter,一部分在 configSections 里面,一部分在 System.Web 里面
然后就是在 web.config 里面配置重写规则,可以用正则表达式来匹配改写后的url,发现匹配(lookfor)后,转到(SendTo)原始url
四、处理回发
访问一个被重写了的url,而这个url上面有一个窗体,虽然打开窗体的时候,使用的是重写前的url,但是当点击窗体的提交按钮的时候,窗体会被定向到重写后的实际的url去。
具体的实现方法就是“利用ASP.NET 2.0控件适配器 扩展架构来定制控件的输出”,说白了就是ASP.NET 2.0提供了一个功能,可以手工的改写服务器控件。那么我们可以改写form控件的窗体的action,也就是提交路径的属性。
需要两个文件:
1、
URL重写就可以在 Windows Server 2003 + IIS6 + ASP.NET 2.0 下实现了