2013-05-29 56 views
5

我试图确保没有非标准的错误消息发送给用户出于安全原因。一般来说,我有标准的错误消息设置,它工作得很好。我在web.config中使用这些标签:自定义错误重定向不起作用

<httpErrors errorMode="Custom"> 
    <remove statusCode="404" subStatusCode="-1"/> 
    <remove statusCode="401" subStatusCode="-1"/> 
    <remove statusCode="403" subStatusCode="-1"/> 
    <remove statusCode="501" subStatusCode="-1"/> 
    <remove statusCode="400" subStatusCode="-1"/> 
    <remove statusCode="411" subStatusCode="-1"/> 
    <error statusCode="403" path="/ErrorPages/UnAuthorized.aspx" responseMode="ExecuteURL"/> 
    <error statusCode="404" path="/ErrorPages/Oops.aspx" responseMode="ExecuteURL"/> 
    <error statusCode="501" path="/ErrorPages/Oops.aspx" responseMode="ExecuteURL"/> 
    <error statusCode="400" path="/ErrorPages/Oops.aspx" responseMode="ExecuteURL"/> 
    <error statusCode="411" path="/ErrorPages/Oops.aspx" responseMode="ExecuteURL"/> 
    <error statusCode="400" path="/Account/Login.aspx" responseMode="ExecuteURL"/> 
</httpErrors> 

时已经指出,一些403400501个错误信息仍然没有被重定向我遇到的问题。

引起该问题的网址是:从无效内容长度

www.example.com/con/ - asp.net error 

wwww.example.com/..%5CStorage%5CDocuments%5C8849145d-174a-41ab-9676-0ae19d6ab741 - 403 error 

和411的错误。

回答

11

您是使用VisualStudio Development Server还是IIS7 Express? 如果你正在使用它,那么你应该尝试:

<customErrors mode="On" > 
    <error statusCode="503" redirect="/Views/Shared/Error.htm"/> 
</customErrors> 

如果没有,试试这个:

<httpErrors existingResponse="Replace" defaultResponseMode="Redirect" errorMode="Custom"> 
    <remove statusCode="501"/> 
    <error statusCode="501" responseMode="Redirect" path="/ErrorPages/Oops.aspx"/>   
</httpErrors> 
+0

感谢我在Windows服务器上使用IIS 7.5。您的回复已修复了所有问题,但仍有一个问题出现:“HTTP错误403。请求URL被禁止。”当输入wwww.site.com/..%5CStorage%5CDocuments%5C8849145d-174a-41ab-9676-0ae19d6ab741有关如何将其重定向到我的自定义错误页面的任何建议? – Westy10101

+0

?并且您将web.config中的statusCode =“403”设置更改为: Dandy

+0

是的完全如下: Westy10101

相关问题