在Umbraco中设置errorPage

时间:2010-12-17 14:58:51

标签: .net umbraco http-error

我正在使用Umbraco开发一个Web应用程序。我创建了一个名为PageNotFound的内容,并且在umbracoSettings.config文件的errors部分中,我将该节点的id设置为404 error404。问题是,在IIS 7中,IIS总是在web.config中查找HttpErrors部分,并且不关注umbracoSettings.config。

我该怎么办?

2 个答案:

答案 0 :(得分:16)

在您的web.config(system.webServer部分)中,您可以告诉网站将所有错误处理传递给应用程序:

<httpErrors existingResponse="PassThrough" />

这样做的缺点是Umbraco除了找不到的.aspx页面之外什么都不会处理。

你可以通过做这样的事情来改善它:

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

Umbraco中还不存在non-existing-page.aspx,所以它触发404(因为它有aspx扩展名)和.. presto:Umbraco完美处理404!

答案 1 :(得分:3)

在我添加

之前,500错误无效
existingResponse="Replace"
像那样

<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>