Asp.net - Web.Config - Custom Errors

前端 未结 4 1900
轻奢々
轻奢々 2021-01-20 09:49

How can I set 404 and other error pages using web.config? I have tried adding following block in web.config.

     

        
相关标签:
4条回答
  • 2021-01-20 10:09

    Try to add the "~/" before paths:

     <customErrors defaultRedirect="~/Forms/Errors/Page_404.aspx" mode="On">
    <error statusCode="500" redirect="~/servererror.aspx" />
        <error statusCode="403" redirect="~/NoAccess.htm" />
        <error statusCode="404" redirect="~/Forms/Errors/Page_404.aspx" />
    </customErrors>
    
    0 讨论(0)
  • 2021-01-20 10:10

    It looks like you're using a relative path there. Could that be the problem?

    Try using Fiddler to see what page your browser is being redirected to.

    0 讨论(0)
  • 2021-01-20 10:32

    I solved it myself. We need to add another section in web.config like below to make it work in IIS 7 / 7.5. For IIS 6 the one works which I mentioned in my question

    <system.webServer>
    ...
    <httpErrors errorMode="Custom" >
    <remove statusCode="403" subStatusCode="-1" />
    <remove statusCode="404" subStatusCode="-1" />
    <remove statusCode="500" subStatusCode="-1" />
    <error statusCode="404" path="/404.aspx" responseMode="Redirect" />
    <error statusCode="403" path="/403.aspx" responseMode="Redirect" />
    <error statusCode="500" path="/500.aspx" responseMode="Redirect" />         
    </httpErrors>
    ...
    </system.webServer>
    

    Thanks to everyone who answered.

    0 讨论(0)
  • 2021-01-20 10:33

    Try putting this in the system.webServer section of your Web.config

    <system.webServer>
      <httpErrors existingResponse="PassThrough" />
    </system.webServer>
    
    0 讨论(0)
提交回复
热议问题