ASP.NET中实现URL重写

在新闻系统或者其他系统中常会用到URL重写技术,网上有好多这个教程,我就在这里总结下我的实现过程。

本文参考了ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置


第一步:将URLRewriter.dll这个文件放到工程的bin目录下,并在VS的工程的reference中添加URLRewriter


第二步:配置Web.config文件,这里需要配置三个地方。

第一个地方,在<configuration><configSections>中添加:

<section name="RewriterConfig"                         type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" / >
第二个地方,在<configuration>中添加URL重写规则:

  <RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor>~/website/d(\d+)\.aspx</LookFor>
        <SendTo>~/website/DispalyArticle.aspx?id=$1</SendTo>
      </RewriterRule>
      <RewriterRule>
        <LookFor>~/website/d(\d+)\.html</LookFor>
        <SendTo>~/website/DispalyArticle.aspx?id=$1</SendTo>
      </RewriterRule>
    </Rules>
  </RewriterConfig>
比如说这里我就是添加了当要定位到~/website /目录下d+数字.html的网页时就重定位到~/website/DispalyArticle.aspx并且传过去页面中的数字

   在DispalyArticle.aspx中通过Request.QueryString["id"]获得网页中传过来的id值

   第三步:需要配置的地方,在<httpHandlers>中添加

      <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
      <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
   这样就可以重定位html文件了和aspx文件了,不过在发布到IIS中去的实收html文件的重定位还需要配置IIS,配置过程如下:

   你的网站-->IIS中处理程序映射->添加脚本映射(路径:*.html 可执行文件%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 名称:任意,比如Hml )



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值