请问httphandler为什么不能处理目录呢?我写了个httphandler,
http://www.snbirth.com/xiazaizhongxin/default.aspx这种页面,可以到达处理模块,但是搜索引擎有的时候会自作主张的访问http://www.snbirth.com/xiazaizhongxin/,其实这个界面和带有default.aspx是一样的内容。
但是当访问http://www.snbirth.com/xiazaizhongxin/时,也就是后面不带*.aspx时,请求到不了httphandler,直接被iis返回了404错误,请问这个是怎么回事?

解决方案 »

  1.   

    并不是所有Request都被IIS转给 asp.net 处理。IIS里需要配置
      

  2.   

    这样肯定找不到啊  webconfig里面<httpHandlers>节点里要配置的<add verb="*" path="*.aspx" type="ShuiyinHandler"/>
    ShuiyinHandler 是后台写的类 继承了 借口IhttpHandlers
      

  3.   

    并不是所有Request都被IIS转给 asp.net 处理。IIS里需要配置
    请问如何配置?
      

  4.   


    这个我肯定添加了,现在的问题是,他可以处理路径中带有*.aspx的路径,但是如果没有带*.aspx的时候,比如;http://www.snbirth.com/xiazaizhongxin/,这样的他就不能处理了,但是如果是首页跟目录:http://www.snbirth.com/就可以到达httpHandler,其他的目录都不行。
      

  5.   

    节点配置内容:
    <httpHandlers>
    <add verb="*" path="*.aspx" type="Common.Handler"/>
    <add verb="*" path="*/" type="Common.Handler"/>
    </httpHandlers>
    但是目录的请求就是不会到handler里去
      

  6.   

    设置默认文档,将default.aspx 文件前移
      

  7.   

    你只注意了前半句,没注意后半句。后半句才是关键默认文档是多个,而且有顺序请求到达 IIS 后 会顺序查找,并交给先找到的进行处理。 
      

  8.   

    你这个场景应使用HttpModule 
      

  9.   

    这样说吧,这个问题并不是由于默认文档引起的,因为我的空间里面,根本就没有http://www.snbirth.com/xiazaizhongxin/这个目录,http://www.snbirth.com/xiazaizhongxin/default.aspx这个页面是虚拟出来的。不知道这样你是否明白了问题的意思
      

  10.   

    我最后再说一句吧使用 HttpModule 截获请求,并重定向到 xxx.aspx 
      

  11.   


    一样的,冠佑目录的请求,不会到达HttpModule。
      

  12.   

    这个问题没有办法解决,后来还是通过iis解决了