nainai1 发表于 2015-8-16 10:56:22

IIS配置:自定义错误页面&不允许访问目录 访问不存在目录、访问目录、访问不存在页面自动跳转

  
  
IIS配置:自定义错误页面&不允许访问目录 访问不存在目录、访问目录、访问不存在页面自动跳转
原创:邓有权
转载请注明
Demo:网站结构如下图:
http://pic002.iyunv.com/images/2012/327943/2012121718350838.png
Help.aspx为自定义错误页面,index.aspx为默认页面。

参考了很多资料,都不能达到目的。
只有访问不存在的页面,如访问./index1.aspx,可以跳转到自定义错误页面。
访问目录的话,不管是不是存在的,都不会跳转。
请参考我的Web.config配置,详细如下(用途见注释):

<?xmlversion="1.0"?>
原创:邓有权转载请注明
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->
原创:邓有权转载请注明
<configuration>
<system.web>
<compilationdebug="false"targetFramework="4.0" />
<!--
      说明:mode打开,defaultRedirect配置好
      一般情况下,只配置这个按道理应该所有错误都会跳到自定义的错误页面
      但是,有时候可能访问目录或不存在的目录,不会跳转到自己错误页面
    -->
    <customErrorsmode="On"defaultRedirect="/CustomErrorPages/error/help.aspx"></customErrors>
</system.web>
<system.webServer>
<!--
      说明:禁止访问目录
      网上解决目录访问的问题,大多都是把页面提示的解决方法贴了上去,即enable设为true
      那样,是不报错,但是会显示目录,不会跳转到自定义的错误页面
    -->
<directoryBrowseenabled="false"/>
原创:邓有权转载请注明
<!--
      说明:设置默认文档
      网上解决目录访问的问题,也提到了这个,但是正确设置也不会跳转到自定义的错误页面
    -->
    <defaultDocument>
      <files>
      <!--
         说明:清楚所有,配置唯一默认页面
         -->
      <clear/>
      <addvalue="/index.aspx"/>
      </files>
    </defaultDocument>
<!--
      说明:errorMode设置为自定义
      网上解决目录访问的问题,不存在的目录或存在的目录,访问的话,自动跳转到自定义的错误页面
      有时或许并不需要这么麻烦的配置,仅供参考
    -->
    <httpErrorserrorMode="Custom">
      <!--
         说明:根据需要移除指定的HTTP响应代码,设置为自定义的错误页面
      -->
      <removestatusCode="403"/>
      <removestatusCode="404"/>
      <errorstatusCode="403"path="/CustomErrorPages/error/help.aspx"responseMode ="Redirect"/>
      <errorstatusCode="404"path="/CustomErrorPages/error/help.aspx"responseMode ="Redirect"/>
    </httpErrors>
</system.webServer>
</configuration>
原创:邓有权转载请注明

Refer:
http://social.msdn.microsoft.com/Forums/zh-CN/295/thread/dc09b3bb-fcbf-4444-907d-0e1eec6e911e
http://msdn.microsoft.com/en-us/library/system.web.configuration.customerrorssection.redirectmode.aspx
原创:邓有权转载请注明
demo代码不知道怎么上传,如有需要可以联系 youquan.deng@gmail.com

  
原创:邓有权转载请注明

  
  
页: [1]
查看完整版本: IIS配置:自定义错误页面&不允许访问目录 访问不存在目录、访问目录、访问不存在页面自动跳转