gpt4 book ai didi

asp.net - 为什么在 web.config 中设置 customErrors 在这种情况下不起作用?

转载 作者:行者123 更新时间:2023-12-02 08:30:14 26 4
gpt4 key购买 nike

在我的 ASP.NET 3.5 网站(在共享托管提供商中发布)中,我配置了如下所示的 web.config 文件:

    <customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="AccessDenied.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/>
</customErrors>

如果用户请求不存在的页面(例如“www.example.com/NotExistPage.aspx”),用户将按照我们的预期重定向到 FileNotFound.htm 页面。

但是如果用户请求一些地址,例如:“www.example.com/NotExistDirectory”,不带.aspx扩展名,则用户将遇到 IIS 7.5 错误页面:

HTTP Error 404.0 - Not Found The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

详细错误信息:

Module  IIS Web Core
Notification MapRequestHandler
Handler StaticFile
Error Code 0x80070002

Requested URL http://www.example.com:80/NotExistDirectory
Physical Path D:\Websites\example\example.com\wwwroot\NotExistDirectory
Logon Method Anonymous
Logon User Anonymous

这是一个黄页,用户不友好,我们没有想到。

我想知道在 webconfig 中设置 customerError 是否不支持这种类型的地址?我怎样才能阻止用户看到这个黄页。

编辑:感谢David的回答,但我找到了真正的原因和正确的解决方案。请看我的回答。

最佳答案

@Mostafa:我遇到了完全相同的问题。我发现可以通过将以下内容添加到 web.config 文件来解决:

<system.webServer>
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" subStatusCode="-1" prefixLanguageFilePath="" path="/MyErrorPage.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>

关于asp.net - 为什么在 web.config 中设置 customErrors 在这种情况下不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4487858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com