使用URLRewriter.dll后,根本不需要使用任何代码,我之前做的项目就是用的做URL重写的,
其实不是进化,其实表面上看是.html扩展名而已,当然你还可以用其他的任意扩展名
下面是你的配置
<Rules>
<!-- 规则1 -->
<RewriterRule>
<LookFor>~/d(d+).html </LookFor>
<SendTo>~/default.aspx?id=$1 </SendTo>
</RewriterRule>
</Rules>
其实就是正则匹配
<LookFor>~/d(d+).html </LookFor>
<SendTo>~/default.aspx?id=$1 </SendTo>
如果你有个页面显示是~/default.aspx?id=5,自动或转为的~/d5.html,这个应该不难理解
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>
这个地方,遇到Http请求,就会用URLRewriter去处理(如果你做过网站图片加水印,就很好理解),
比如页面url对应是~/d5.html
URLRewriter就会从上面Rules/LookFor里去查找看看有没有匹配~/d5.html,找到
<LookFor>~/d(d+).html </LookFor>
<SendTo>~/default.aspx?id=$1 </SendTo>
后,就用其对应的SendTo将它解析成default.aspx?id=5
关键一点就是网站发布的时候需要在IIS里配置一下
Windows2003服务器配置:
网站->属性->目录->配置(G)->映射->通配符应用程序映射->插入
可执行文件:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll
确认文件是否存在:不选