How to set custom error pages

Overview

DNN Evoq can display custom 404 error messages when visitors navigate to an invalid page. This is done via settings changes in IIS and DNN, as well as a small change to the web.config file.

 

Prerequisites

  • Access to the DNN file structure and server.
  • Access to an Administrator or Super User account.

 

Diagnosis

When browsing for a resource such as a .txt or .asp that does not exist you will receive the static 404  or 404.0 page. Note this also will fix receiving the static page for searching /bin or /web.config

Basic404.png

 

Solution

  1. Ensure that your install of IIS has the HTTP Errors module. This can be added via Windows Features, under Internet Information Services > World Wide Web Services > Common HTTP Features. Ensure that HTTP Errors is checked, then hit OK.
    WindowsFeaturesHTTPErrors.PNG
  2. Inside of the web.config file in your DNN root directory, you will need to find the <system.webServer> tag.
  3. Add the following inside of the tag:
    <httpErrors errorMode="Custom">
    <remove statusCode="404" subStatusCode="-1" />
    <remove statusCode="500" subStatusCode="-1" />
    <error statusCode="500" prefixLanguageFilePath="" path="INSERT_YOUR_URL_HERE" responseMode="Redirect" />
    <error statusCode="404" path="INSERT_YOUR_URL_HERE" responseMode="Redirect" />
    </httpErrors>
    In the path attribute, you can set the absolute URL of the custom error page that you will be redirecting your users to.
    • If an httpErrors block already exists in the code, you may need to examine its current functionality to determine whether it needs to be overwritten or merely appended.
  4. Log into your DNN instance and navigate to Settings > Site Settings > Site Behavior. Ensure that the 404 Error Page is set to your desired custom 404 page.

 

Testing

Before testing any changes, it may be helpful to restart the site via IIS. As with any testing where browser cache may cause problems, tests should be done in an incognito or hidden browsing mode with cache disabled. To test that the user is correctly redirected to the correct error page:

  • Go to any page that does not currently exist for your site. You should be able to see the custom error page.
  • If correctly configured, this should work for non-website file extensions as well, such as https://mywebsite.com/NotARealFile.txt

Comments

1 comment

  • Avatar
    Balazs Varga

    NOTE: If the "Error Pages" feature is not installed in IIS, this will not work.

    In such case, run the powershell command "Install-WindowsFeature web-http-errors" and restart IIS. 

    Under "Error Pages" it is then possible to configure the same in the IIS GUI, and it will put the httpErrors in the web.config.

    0
    Comment actions Permalink

Please sign in to leave a comment.