我一直在尝试让我的web应用程序重定向到自定义的404页面。它适用于所有urls,但扩展名为".aspx“的urls除外
服务器是Windows Server2008,下面是我在web.config中的以下设置(以google.com为例):
<customErrors defaultRedirect="http://www.google.com" mode="On" redirectMode="ResponseRedirect"></customErrors>
<httpErrors errorMode="Custom">
<clear />
<remove statusCode="500" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/404-Page/" responseMode="ExecuteURL" />
<error statusCode="500" prefixLanguageFilePath="" path="/404-Page/" responseMode="ExecuteURL" />
</httpErrors>同样,HTTP错误适用于除".aspx“扩展之外的所有内容。
发布于 2012-09-27 02:48:03
为了解决这个问题,我们最终不得不创建一个模块来劫持任何错误,并将用户转移到我的自定义404页面,该页面是在web.config (在customErrors下)中设置的。每当应用程序出现错误时,该模块都会向添加一个事件处理程序:
public void Init(HttpApplication context)
{
context.Error += new EventHandler(FileNotFound_Error);
}函数FileNoteFound_Error执行重定向。
发布于 2012-09-18 06:42:12
customErrors元素提供有关ASP.NET应用程序的自定义错误消息的信息。尝试将HTTP子元素添加到要捕获的特定error错误代码的customErrors元素中。
<error statusCode="404" redirect="error404.htm"/>发布于 2012-09-19 15:05:32
我在IIS6中也遇到过类似的问题。我最终在global.asax的Application_Error中处理它。为了让它正常工作,我不得不将404自定义页面设置为一个不存在的aspx页面(如果我将其设置为现有的aspx页面,它将被EPiServer的内部错误处理所吞噬……)
https://stackoverflow.com/questions/12467757
复制相似问题