我已添加到我的web.config:
<customErrors mode="RemoteOnly" defaultRedirect="~/Pages/Error/Error.aspx">
<error statusCode="404" redirect="~/Pages/Error/Error404.aspx"/>
</customErrors>
它适用于.aspx页面。
当我尝试输入:http://domainname.com/notExist
时,我会得到默认的404。
我尝试了以下建议: 404 Redirecting for non aspx pages
但没有什么对我有用。 有什么想法吗?
我使用.net 3.5,应用程序池管道模式是集成的。
添加<httpErrors>
后,我得到:
答案 0 :(得分:1)
试试这个,它将提供单独的状态。然后你可以按照你的要求执行。
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="~/Pages/Error/Error.aspx">
<error statusCode="404" redirect="~/Pages/Error/Error404.aspx"/>
</customErrors>
</system.web>
<system.webserver>
<asp scriptErrorSentToBrowser="true"/>
<httpErrors errorMode="Detailed">
<error statusCode="401" path="/Pages/Error/Error.aspx" responseMode="Redirect" />
<error statusCode="403" path="/Pages/Error/Error.aspx" responseMode="ExecuteURL" />
<error statusCode="404" path="/Pages/Error/Error404.aspx" responseMode="ExecuteURL" />
<error statusCode="500" path="/Pages/Error/Error.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webserver>
答案 1 :(得分:-2)
您需要单独设置其他页面。
尝试这样的事情。
<system.webserver>
<httpErrors errorMode="Custom" >
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="~/Pages/Error/Error404.aspx" />
</httpErrors>
</system.webserver>