用户操作
[即时聊天] [发私信] [加为好友]
爱你网ID:goody9807
149924次访问,排名553,好友243人,关注者0人。
http://www.cnblogs.com/goody9807
http://www.51ini.com
goody9807的文章
原创 93 篇
翻译 0 篇
转载 139 篇
评论 90 篇
爱你网的公告








一个不错的P2P软件,里面肯定有你要的资源

我的爱你网,讨论.Net


最近评论
Kaelzhang:您好,今天无意路过这里,发现阁下转载了本站的日志。可能你是从其他的地方转载的,也有可能是从本站转载的。

但是不论是哪一种情况,请加上本站原文的有效链接,http://yottaworks.net/general/142/
或者
http://www.kael.com.cn

感谢您的支持,遵守Creative Commons,互相……
xiaojiit:能不能支态变宽呢?
z392989029:美女,你也学编程吗。
这个东西我还是不会用
z392989029:美女,你也学编程吗。
这个东西我还是不会用
hhshang:楼主你做过这个打字程序,如果做了,可不可以发一份给我学习一下呀,我的邮箱是:zeng_xianchun@126.com
文章分类
收藏
相册
Csdn专用
个人专用
XML相关资料
XML Server与XML-enabled Web Server介绍
xmlhttp发送 xml 例子详解
在Asp.net里显示XML格式内容.
树的资料
asp.net中的treeview 怎么用
数据库连接
CSDN数据库连接大全
DSN方式连接数据库
杂类
100分问一个突然出现的Cookie问题,关于添加/删除Cookie的。
c#存取图片 (RSS)
我的主页(RSS)
高效.TEXTBLOG技巧终结篇
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

转载 Asp.net URL重写(URLRewriter)收藏

新一篇: [C#]StringWriter实现的一个功能 | 旧一篇: 遍历Page的Controls集合

可以使用 ISAPI 筛选器在 IIS Web 服务器级别实现 URL 重写,也可以使用 HTTP 模块或 HTTP 处理程序在 ASP.NET 级别实现 URL 重写。
在dotnet中如果实现URLRewriter只需做如下几步:

第一步:添加dll引用 URLRewriter.dll

第二步:在web.config文件中进行配置


先加入一个section节

<configuration>
    .......
  
<configSections>
    
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
  
</configSections>

然后加入一个模块httpMoudles,

为 URL 重写引擎指定配置信息


<system.web>
。。。。。
<httpModules>
      
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter"/>
    
</httpModules>

注意节的位置 
<system.web><configSections>两个节是平级的

再加入规则
<RewriterConfig>
      
<Rules>
        
<!-- Rules for Blog Content Displayer -->
        
<RewriterRule>
          
<LookFor>/ctrl/(.*).ashx</LookFor>
          
<SendTo>/ControlContainer.aspx?control=/ctrl/$1.ascx</SendTo>
        
</RewriterRule>
        
<RewriterRule>
          
<LookFor>ctrl/(.*).ashx</LookFor>
          
<SendTo>/ControlContainer.aspx?control=ctrl/$1.ascx</SendTo>
        
</RewriterRule>
      
</Rules>
    
</RewriterConfig>

这个节与<system.web>平级
注意sendto节中的路径这块设置不好,会报404错误的!
这里的意思是凡是从路径http://.../ctrl/111.ashx来的请求都由/ControlContainer.aspx?control=/ctrl/111.ascx来处理


除了指定使用 HTTP 模块还是 HTTP 处理程序执行重写外,Web.config 文件还包含重写规则:重写规则由两个字符串组成:要在被请求的 URL 中查找的模式;要替换此模式的字符串(如果找到)。在 Web.config 文件中,此信息是使用以下语法表达的:

<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>要查找的模式</LookFor>
<SendTo>要用来替换模式的字符串</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>要查找的模式</LookFor>
<SendTo>要用来替换模式的字符串</SendTo>
</RewriterRule>
...
</Rules>
</RewriterConfig>

每个重写规则均由 <RewriterRule> 元素表达。要搜索的模式由 <LookFor> 元素指定,而要替换所找到的模式的字符串将在 <SentTo> 元素中输入。这些重写规则将从头到尾进行计算。如果发现与某个规则匹配,URL 将被重写,并且对重写规则的搜索将会终止。

在 <LookFor> 元素中指定模式时,请注意,要使用正则表达式来执行匹配和字符串替换。(稍后,我们将介绍一个真实的示例,说明如何使用正则表达式来搜索模式。)由于模式是正则表达式,应确保转义正则表达式中的任何保留字符。(一些正则表达式保留字符包括:.、?、^、$ 及其他。可以通过在前面加反斜杠(如 \.)对这些字符进行转义,以匹配文字句点。)


 

发表于 @ 2008年01月17日 10:07:00|评论(loading...)|编辑

新一篇: [C#]StringWriter实现的一个功能 | 旧一篇: 遍历Page的Controls集合

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 爱你网