Setting errorPage in Umbraco

2020-02-10 09:50发布

I am developing a web application using Umbraco. I create a content called PageNotFound and, in the errors section of umbracoSettings.config file, I put the node id of that for 404 error404. The problem is that, with IIS 7, IIS always looks for the HttpErrors section in web.config and does not pay attention to umbracoSettings.config.

What should I do?

2条回答
可以哭但决不认输i
2楼-- · 2020-02-10 10:28

In your web.config (system.webServer section) you can tell the site to pass all of the error handling through to the application:

<httpErrors existingResponse="PassThrough" />

This has the disadvantage that Umbraco doesn't handle anything but .aspx pages that are not found.

You could make it better by doing something like this instead:

<httpErrors errorMode="Custom">
       <remove statusCode="404" subStatusCode="-1" />
       <error statusCode="404" prefixLanguageFilePath="" path="/non-existing-page.aspx" responseMode="ExecuteURL" />
</httpErrors>

The non-existing-page.aspx does not exist yet in Umbraco, so it triggers a 404 (because it has the aspx extension) and.. presto: Umbraco handles the 404 perfectly!

查看更多
放荡不羁爱自由
3楼-- · 2020-02-10 10:37

The 500 errors did not work until I added

existingResponse="Replace"

like that

<httpErrors errorMode="Custom" existingResponse="Replace">
  <remove statusCode="404" subStatusCode="-1" />
  <remove statusCode="500" subStatusCode="-1" />
  <error statusCode="404" path="/non-existing-page.aspx" responseMode="ExecuteURL" />
  <error statusCode="500" path="error.html" responseMode="File" />
</httpErrors>
查看更多
登录 后发表回答