2

我正在使用 Umbraco 4.7,而我的服务器是 IIS7,我想知道什么不适合我。我基本上想制作一个自定义错误页面(404)并且我尝试过的一切都不起作用,检查了论坛,但它仍然显示同样的问题。

我已经编辑了我的 umbracoSettings.config

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

我还考虑过将其添加到 web.config 文件中。

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

任何帮助将不胜感激。我是 IIS 和任何涉及网络设置的新手。

4

3 回答 3

17

确保 1647 是 404 页面的节点 ID。

system.webServer还要在 web.config的标记中添加以下代码。

<httpErrors>
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="400" path="/404" responseMode="ExecuteURL" />
    <error statusCode="404" path="/404" responseMode="ExecuteURL" />
</httpErrors>

希望这有效...

于 2012-06-15T06:42:01.057 回答
5

以防有人像我在研究 Umbraco 7 的类似问题时那样偶然发现这一点,在 config/umbracoSettings.config 文件中将 trySkipIisCustomErrors 值设置为 true 为我做了这件事。

  <web.routing
    trySkipIisCustomErrors="true"
    internalRedirectPreservesTemplate="false">
  </web.routing>
于 2014-05-25T11:58:35.380 回答
2

我遇到了同样的问题,Sobin P Samuel 建议的解决方案对我有用(只需将 httpErrors 元素直接复制并粘贴到 Web.Config 文件中的 system.webserver 部分),所以我想这也是解决它的方法对于 paulstewart185...

请注意,根据http://our.umbraco.org/wiki/install-and-setup/configuring-404-pages,IIS 7.5 的解决方案是将以下内容添加到 system.webserver 部分:

<httpErrors existingResponse="PassThrough"/>
于 2013-07-02T10:12:21.353 回答