首页 > 代码库 > (转)url重写

(转)url重写

使用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:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
确认文件是否存在:不选