使用微软URLRewriter实现URL重写

1、下载安装MSDNURLRewriting.msi。

          开源代码http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi,下载下来后编译一下就可以了。编译后得到URLRewriter.dll和ActionlessForm.dll两个Dll。

   2、在ASP.NET项目的web.config中配置使用。

     在<configuration>下面添加一段代码:

 

<configSections> 

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

</configSections>


     

 

在<system.web>下面添加一段代码:

<httpHandlers>
      <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
</httpHandlers> 
<RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor>~/index.html</LookFor>
        <SendTo>~/Index.aspx</SendTo>
      </RewriterRule>
      <RewriterRule>
        <LookFor>~/(/d+)-(.*).html</LookFor>
        <SendTo>~/Products/ProductsList.aspx?id=$1&SelectValue=$2</SendTo>
      </RewriterRule>
      <RewriterRule>
        <LookFor>~/(/d+)/(.*).html</LookFor>
        <SendTo>~/Products/ProductsDetails.aspx?ID=$1&CASNO=$2</SendTo>
      </RewriterRule>
    </Rules>
</RewriterConfig>


 

       其中LookFor是地址栏显示的地址,SendTo是真实的反问地址。当页面带有多个参数的时候,如第一个用$1来表示,第二个用$2来表示,以此类推,而参数于参数中的链接符由\"&\"改为\"&amp;\"。LookFor中的(/d+)这些就是正则表达式的写法了。

       在页面中的链接也就要修改了,比如<a href=\"products/productsList.aspx?id=111&SelectValue=a\">产品列表</a>就需要修改为<a href=\"111-a.html\">产品列表</a>。

转载于:https://my.oschina.net/smartsmile/blog/815112

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值