我想将自定义错误页面添加到我的Web应用程序。到目前为止,我已经元素下添加这个到我的web.config文件:防止IIS 7.5使用web.config显示默认错误页面
<customErrors mode="On" >
<error statusCode="404" redirect="~/404.aspx"/>
<error statusCode="500" redirect="~/500.aspx"/>
</customErrors>
也能正常工作对于.NET触及例如包含.aspx扩展名的URL错误。不过,我也希望为网址显示自定义错误,例如www.example.com/dasda
当前当我请求一个页面(如上面的IIS 7.5)时,显示它自己的错误消息。我已经元素下添加此:
<httpErrors >
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="~/404.aspx" responseMode="ExecuteURL" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" path="~/500.aspx" responseMode="ExecuteURL" />
</httpErrors>
我认为这将使IIS显示自定义错误页,而不是它是默认的,但是这似乎并不如此。
我知道我可以在IIS本身设置一个自定义的错误页面,但对于我的情况理想的解决方案是将此可配置在web.config中。
我曾尝试加入到这个在Page_Load事件我的自定义错误页的建议here:
Response.TrySkipIisCustomErrors = true;
但是它并没有从地方我自定义错误页的显示停止IIS的默认页面。我也尝试过建议here:
<httpErrors >
<remove statusCode="404" subStatusCode='-1' />
<error statusCode="404" path="~/404.aspx" prefixLanguageFilePath='' responseMode="Redirect" />
<remove statusCode="500" subStatusCode='-1' />
<error statusCode="500" path="~/500.aspx" prefixLanguageFilePath='' responseMode="Redirect" />
</httpErrors>
但是这也行不通。
那么有没有办法通过配置web.config文件中的设置来防止IIS显示默认错误页面?
感谢Aesir发布此信息。我可以用你的例子解决同样的问题。 – GibboK
这也解决了我的问题。谢谢! –
感谢您发现errorMode标志;缺乏效果让我很烦恼。 – icelava