【问题标题】:IIS Web.Config Custom 404 errorsIIS Web.Config 自定义 404 错误
【发布时间】:2019-04-11 00:30:25
【问题描述】:

我几乎把头发扯掉了,这看起来很容易。

希望实现自定义 404 错误页面,这是我的代码 - 看起来很简单,但它不起作用 - 任何想法。

在任何人对此进行评价之前,我已经尝试了几乎所有线程,但同样的事情发生了,或者实际上没有。

<httpErrors errorMode="Custom">
<remove statusCode="404" />
<error statusCode="404" path="/errors/e404.asp" responseMode="ExecuteURL" />
</httpErrors>

没有此代码,我会收到标准的 Windows 错误消息。

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, 
or is temporarily unavailable.

使用此代码,我得到一个不同的错误 - 但不是我的自定义页面。所以有些事情正在发生,只是不是我想要的。任何想法或指示将不胜感激。

This localhost page can’t be found No web page was found for the web address: https://localhost

【问题讨论】:

  • 你试过这个one吗?
  • 谢谢 - 没有骰子:(
  • 关于您的网站/应用程序,您还能告诉我们什么?有哪些技术在发挥作用?您请求产生该错误的 URL 是什么?另外,您使用的是哪个版本的 IIS(或操作系统)?
  • 您的站点/应用程序是如何配置的?您的网站是否直接指向 c:\inetpub\wwwroot\mercury\?
  • docs.microsoft.com/en-us/iis/configuration/system.webserver/… ExecuteURL 使用相对路径,这意味着您需要自己计算绝对路径,但是在您的问题和 cmets 中,您没有表现出足够的他人来帮助。可以的话,切换到Redirect,设置一个绝对网址,应该会容易设置很多(不用再计算了)。

标签: iis web-config


【解决方案1】:

这里的问题几乎可以肯定是因为您使用了“ExecuteURL”而它根本没有找到它。我能够通过使用 IIS Express 和 Visual Studio 2017 重现您遇到的问题。要对从 Sysinternals (https://docs.microsoft.com/en-us/sysinternals/downloads/procmon) 运行 ProcMon 进行故障排除,并搜索您正在搜索的文件 (Test123) 以及您所在的错误文件期待(e404.asp)。

重要的是要注意(正如其他人所说),使用 ExecuteURL 时,它必须是到站点的相对路径,而不是应用程序或 VDir。 VS 和 IISExpress 会在幕后处理大部分细节,因此很难确定 Site/App/VDir/etc 的级别。

【讨论】:

  • 而且Redirect 总是更容易正确配置,因为它只要求提供绝对 URL。
猜你喜欢
  • 2011-08-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-11
  • 2011-06-30
  • 2011-01-21
  • 2012-07-03
  • 2016-09-27
  • 1970-01-01
相关资源
最近更新 更多