如何指定自定义错误页面而不在 web.config 中的 httpErrors 上设置 defaultPath?

2024-02-22

我目前正在致力于将 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 属性的情况下指定默认错误页面?


在 global.asax 中,您可以只实现 Application_Error() 并重定向到您想要的任何地方?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何指定自定义错误页面而不在 web.config 中的 httpErrors 上设置 defaultPath? 的相关文章

随机推荐