2

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

我应该怎么办?

4

2 回答 2

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>

不存在的page.aspx 在 Umbraco 中尚不存在,因此它会触发 404(因为它具有 aspx 扩展名)并且.. presto:Umbraco 完美地处理了 404!

于 2010-12-17T15:21:52.810 回答
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>
于 2013-09-17T15:28:51.457 回答