我目前正致力于将asp.net网站部署到共享托管环境,这可以按预期工作(404页呈现)
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/file-not-found.htm" responseMode="ExecuteURL" />
</httpErrors>
但这不是(500内部服务器错误)
<httpErrors errorMode="Custom" defaultPath="error.htm" defaultResponseMode="ExecuteURL">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/file-not-found.htm" responseMode="ExecuteURL" />
</httpErrors>
我要求查看applicationHost.config,它有:
<httpErrors errorMode="Custom" defaultPath="C:\inetpub\custerr\en-US\SSLRedirect.htm" lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
所以我假设defaultPath作为一个锁定属性是引起问题的东西。
因为这是部署到共享环境,托管公司不愿意修改applicationHost.config来删除defaultPath上的锁 - 所以有没有办法在不解锁defaultPath属性的情况下指定默认错误页面? / p>
答案 0 :(得分:2)
在global.asax中你可以实现Application_Error()并重定向到你想要的任何地方吗?