url 重写

UrlRewriter 是微软封装好了的一个URL重写组件。使用它可以让我节约很多自已开发的时间。

第一步,下载UrlRewriter.dll组件, copy到你的项目 bin 目录下。

第二步,在Web.config中加入:

 

   
   
1 < configuration > 2    < configSections > 3       < section name = " RewriterConfig " type = " URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter " /> 4    </ configSections > 5  

 

第三步,加入重写的规则节点:

 

复制代码
    
    
< RewriterConfig > < Rules > < RewriterRule > < LookFor >~/ commlist / (\d + ).htm </ LookFor > < SendTo >~/ commlist.aspx ? newsclass = $ 1 </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ newslist / (\d + ).htm </ LookFor > < SendTo >~/ newslist.aspx ? newsclass = $ 1 </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ down / (\d + ) / (\d + ).htm </ LookFor > < SendTo >~/ down.aspx ? id = $ 1 & amp;k = $ 2 </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ down / (\d + ).htm </ LookFor > < SendTo >~/ down.aspx ? id = $ 1 </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ downtype / (\d + ).htm </ LookFor > < SendTo >~/ downtype.aspx ? id = $ 1 </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ downlist </ LookFor > < SendTo >~/ downlist.aspx </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ piclist / (\d + ).htm </ LookFor > < SendTo >~/ piclist.aspx ? id = $ 1 </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ newssearch / (\d + ) / ([\s\S] + ).htm </ LookFor > < SendTo >~/ newssearch.aspx ? lx = $ 1 & amp;key = $ 2 </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ newssearch / (\d + ).htm </ LookFor > < SendTo >~/ newssearch.aspx ? lx = $ 1 </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ newssearch / ([\s\S] + ).htm </ LookFor > < SendTo >~/ newssearch.aspx ? key = $ 1 </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ flvlist </ LookFor > < SendTo >~/ flvlist.aspx </ SendTo > </ RewriterRule > < RewriterRule > < LookFor >~/ flvclass / (\d + ).htm </ LookFor > < SendTo >~/ flvclass.aspx ? cId = $ 1 </ SendTo > </ RewriterRule > </ Rules > </ RewriterConfig >
复制代码

 

第四步,加入模块配置(写在<system.web>里面):

 

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

 

第五步,在模块配置中加入:

复制代码
    
    
< httpHandlers > < remove verb = " * " path = " *.asmx " /> < add verb = " * " path = " *.asmx " validate = " false " type = " System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " /> < add verb = " * " path = " *_AppService.axd " validate = " false " type = " System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " /> < add verb = " GET,HEAD " path = " ScriptResource.axd " type = " System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " validate = " false " /> </ httpHandlers >
复制代码

 

 

第六步,在IIS你的站点属性主目录配置映谢 加入一个和 aspx 页面的配置相同的扩展名项。注意“确认文件是否存在”不要勾选,否则会出现找不到文件。

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

 

第七步:如果你的页面有回传。比如说放了DATAGRID,有分页的,你点到下一页就发现,晕倒,又出问题了。

  这下怎么办呢,这个其实微软件的网站上就有说到,我在这里简述一下了。

  第六步,加入窗体回传保持的组件:

  在原来你下载的项目里找到 ActionlessForm.dll 放到你的项目 bin 目录下。

  然后在你的这个页面中加入:

<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>
再把你的<Form...>改为:
<skm:Form id="你的表单名" method="post" runat="server">
.....
</skm:Form>

  That's All.现在你可以高枕无忧了。一切如你所愿。

有问题还可参考:http://www.cnblogs.com/mouhong-lin/archive/2008/08/07/1262965.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值