Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating a custom error page in Umbraco CMS

I'm working on a client site who is using Umbraco as a CMS. I need to create a custom 404 error page. I've tried doing it in the IIS config but umbraco overrides that.

Does anyone know how to create a custom 404 error page in Umbraco? Is there a way to create a custom error page for runtime errors?

like image 813
Gthompson83 Avatar asked Sep 26 '08 15:09

Gthompson83


4 Answers

In /config/umbracoSettings.config modify <error404>1</error404> "1" with the id of the page you want to show.

<errors>
   <error404>1</error404> 
</errors>

Other ways to do it can be found at Not found handlers

like image 92
Swati Avatar answered Nov 03 '22 01:11

Swati


As stated by other posters, modify the errors section as indicated (including culture if needed.) In addition, add the following in the web config to enable passthrough of errors to umbraco:

In /config/umbracoSettings.config (the file itself explains its usage):

<errors>
  <!-- the id of the page that should be shown if the page is not found -->
  <!--        <errorPage culture="default">1</errorPage>-->
  <!--        <errorPage culture="en-US">200</errorPage>-->
  <error404>2664</error404>
</errors>

In /web.config

<system.webServer>
  <!-- Some other existing stuff -->
  <httpErrors existingResponse="PassThrough" />
</system.webServer>

(Note: This is .NET 4)

like image 21
Sprague Avatar answered Nov 03 '22 01:11

Sprague


umbraco also supports culture dependent error pages in case you're working with multilingual sites...

Config changes a tiny bit. Instead of

<errors>
  <error404>1050</error404>
</errors>

you'd now write

<errors>
  <errorPage culture="default">1</errorPage>-->
  <errorPage culture="en-US">200</errorPage>-->
</errors>

Cheers, /Dirk

like image 8
Dirk De Grave Avatar answered Nov 03 '22 01:11

Dirk De Grave


First create an error page (and template) in your umbraco installation. Let us say error.aspx. Publish it. Then edit config/umbracoSettings.config.

Under <errors> section
    <error404>1111</error404>

Where 1111 is the umbraco node ID for the error.aspx page

Node ID can be found by hovering mouse on the error node in content section. It's usually a 4 digit number.

Then edit the web.config:

    In <appSettings> section
    change <customErrors mode as show below:
<customErrors mode="RemoteOnly" defaultRedirect="~/Error.aspx"/>
like image 1
Shri Ganesh Avatar answered Nov 03 '22 01:11

Shri Ganesh