博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

UrlRewriter.Net使用方法详解

Posted on 2009-09-09 17:29  一刻  阅读(1703)  评论(0编辑  收藏  举报
今天看了一下UrlRewiter.Net的使用,查询了一些资料,但是还是有些地方过不去,所以把它贴出来,再这里先陈述我的观点,到最后提出我的疑问,期待朋友赐教。
1.下载 UrlRewriter.Net,请点这里
2.解压该文件;
3.在您的网站中添加对Bin/Realease文件夹下Intelligencia.UrlRewriter.dll的引用:在vs解决方案中,右键点击您的网站,选择添加引用,找到我们刚才解压出来的   Intelligencia.UrlRewriter.dll文件,添加引用已经ok了;
4.剩下的工作就是配置web.config文件了,这也是我存在疑惑的地方。
  (1)
  <configSections>
<section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler,
Intelligencia.UrlRewriter" />
  </configSections>
这里红色部分是我们添加的,这个配置的作用是:使UrlRewriter.Net可以读取web.config文件中的rewrite配置节(这是我们后面要增加的配置信息)
name属性:指定与 type 属性中指定的配置节处理程序关联的配置节或元素的名称。这是该元素在配置文件的节设置区域中使用的名称。
type属性:
指定用来执行如下操作的配置节处理程序类的名称:处理在 name 属性中指定的节或元素中的配置设置。这里有两个参数,第一个为完全类名
这个事我F1查过来的,具体是什么,我不清楚,希望高手指点),第二个就是程序集文件名,这个好理解;
(2)

<system.web>
<httpModules>
<add type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" name="UrlRewriter" />
</httpModules>
</system.web>
这里红色部分是添加到配置中的,它的作用是对web请求的url进行拦截,和对url的重写
type属性:第一个参数是程序集名称,第二个事处理请求的类名称;
name属性:对此http模块引用的名称。
(3)
<configuration>
……
<rewriter>
<rewrite url="^.*-d([0-9]+)/?$" to="~/Catalog.aspx?DepartmentID=$1" processing="stop" />
<rewrite url="^.*-d([0-9]+)/page-([0-9]+)/?$" to="~/Catalog.aspx?DepartmentID=$1&amp;Page=$2" processing="stop" />
</rewriter>
……
</configuration>
这里红色的为我们添加到配置中的,它就是您想要实现的功能,您的url重写
url:这里是自定义的名称
to:这里是目标文件,也就是您要重写到的地方
processing:如果这条规则符合了,那么不再去寻找下一条匹配的规则,比如这里如果您的请求符合第一个,那么就不会再去匹配第二个了。
到这里一般就可以了,如果有必要再配置<httpHandlers>节点,但是如果你是跑aspx的话,相信iis里面已经配置好一切了。现在您可以测试了!
问题:请问我刚刚提到的这个完全类名在这里怎么解释