none
路由发送真实地址,该如何实现伪静态? RRS feed

  • 问题

  • 上级要求我利用Httphandler实现URL重写,但是要对路由发送的真地址进行重定向,即是Response.Redirect到一个假地址,最后再server.transfer到一个和路由请求一样的真实地址。

    但这样的话,意味着在Httphandler里面,我要接管对aspx和伪静态后缀html两者的处理,也就是下方:

    <httpHandlers>
          <add verb="*" path="*.aspx" type="UrlRewriter"/>
          <add verb="*" path="*.html" type="UrlRewriter"/>
    </httpHandlers>
    结果是程序将陷入死循环,因为server.transfer到一个和路由请求一样的真实地址之后,又被自定义的Httphandler接管了。


    这几天被这个问题搞得真烦,希望大家不吝指教:

    现在该怎么处理,能够实现当路由发送真实地址,实现伪静态的功能?

    2012年6月17日 14:22

答案

  • 你好,

    URL重写我刚做完.~~其实用Handler的话.不太适合重用~建议你用自己写UrlRewriteHttpModule来处理~~

    关键调用的API是HttpContext 类 里面的RewritePath(String)  当然其它重载版本的参数是可以给重写过的URL传递参数之用


    博客园: dotNetDR_ 的博客 - 天杀下来的BUG,不怕有我来挡!

    博客园介绍: 博客园创立于2004年1月,是面向软件开发者的高品质IT技术社区,聚集了很多优秀的软件开发者和IT技术学习者。

    2012年6月18日 6:28

全部回复

  • 你好,

    URL重写我刚做完.~~其实用Handler的话.不太适合重用~建议你用自己写UrlRewriteHttpModule来处理~~

    关键调用的API是HttpContext 类 里面的RewritePath(String)  当然其它重载版本的参数是可以给重写过的URL传递参数之用


    博客园: dotNetDR_ 的博客 - 天杀下来的BUG,不怕有我来挡!

    博客园介绍: 博客园创立于2004年1月,是面向软件开发者的高品质IT技术社区,聚集了很多优秀的软件开发者和IT技术学习者。

    2012年6月18日 6:28
  • IIS7 中已经提供了 UrlReWrite, 这里还有详细的视频说明,你可以参考一下。


    冠军

    2012年6月19日 13:15
  • IIS7 中已经提供了 UrlReWrite, 这里还有详细的视频说明,你可以参考一下。


    冠军

    额,我们公司还只是IIS5.1。
    2012年6月21日 7:23
  • 大哥...IIS 5.1很鸡肋的!!!别用啊~~~

    XP本身又不是服务器~


    博客园: dotNetDR_ 的博客 - 天杀下来的BUG,不怕有我来挡!

    博客园介绍: 博客园创立于2004年1月,是面向软件开发者的高品质IT技术社区,聚集了很多优秀的软件开发者和IT技术学习者。

    2012年6月21日 8:31
  • 大哥...IIS 5.1很鸡肋的!!!别用啊~~~

    XP本身又不是服务器~


    博客园: dotNetDR_ 的博客 - 天杀下来的BUG,不怕有我来挡!

    博客园介绍: 博客园创立于2004年1月,是面向软件开发者的高品质IT技术社区,聚集了很多优秀的软件开发者和IT技术学习者。

    嗯,谢谢你的建议!
    2012年6月21日 13:36