http://msdn2.microsoft.com/zh-cn/library/ms972974.aspx
解决方案 »
- 关于如何过滤百度风云榜里的RSS获取有效数据
- DataPager 的页码可以显示01,02。。。两位数吗
- |zyciis| 像这些选择尺码的,他们是怎么来保存数据的呢
- 未将对象引用设置到对象的实例
- Visual Studio 2005的WebApplication default namespace在哪设置
- 我要在现在的项目上添加其它项目的用户控件,请问怎样做?
- 有点难度:REPEATER中每一项嵌入一个CHECKBOX和一个CHECKBOXLIST,关于客户端脚本处理的问题
- asp.net(管理员权限)调用服务器应用程序,有时出现计数器禁用的问题,高手帮忙啊!
- 怎么实现用javascript“禁止鼠标左键点击指定的链接”
- .net与sql server连接问题(在线等待)
- 如何获取Wizard中“下一步”按钮的引用?
- ***在存储过程里日期类型的变量转换成字符类型后统计的数据就变少了.不知咋回事呀?
在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> 元素中指定模式时,请注意,要使用正则表达式来执行匹配和字符串替换。(稍后,我们将介绍一个真实的示例,说明如何使用正则表达式来搜索模式。)由于模式是正则表达式,应确保转义正则表达式中的任何保留字符。(一些正则表达式保留字符包括:.、?、^、$ 及其他。可以通过在前面加反斜杠(如 \.)对这些字符进行转义,以匹配文字句点。)
<LookFor> BusInfo.aspx/cpxs.html</LookFor>
<SendTo> BusInfo.aspx?title=cpxs </SendTo>
</RewriterRule>
这个我想到BusInfo.aspx?title=cpxs 实际页面转换成BusInfo.aspx/cpxs.html显示没有反应,而且我把
<RewriterRule>
<LookFor> BusInfo.aspx?title=cpxs </LookFor>
<SendTo>BusInfo.aspx/cpxs.html </SendTo>
</RewriterRule>交换了也没有反应是怎么回事?
还要在哪里操作吗?