在 ASP.Net 网站上实现自定义错误页面
我有一个 ASP.Net 网站,我想使用自定义错误页面。我将以下代码放入 web.config 中
<customErrors mode="On" defaultRedirect="~/error.aspx">
<error statusCode="404" redirect="~/error.aspx" />
</customErrors>
问题是当我转到不存在的 URL 时仍然使用 IIS 管理器中指定的 404 错误页面。
问题:如何让它使用我创建的 error.aspx 页面?为什么 IIS 管理器中的设置会覆盖 web.config?
I have an ASP.Net website and I want to use a custom error page. I put the following code in my web.config
<customErrors mode="On" defaultRedirect="~/error.aspx">
<error statusCode="404" redirect="~/error.aspx" />
</customErrors>
The problem is when i go to a URL that does not exist is still uses the 404 error page specified in IIS Manager.
Question: How can I make it use the error.aspx page I have created? Why do the settings in IIS Manager override the web.config?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
尝试这种方式,几乎相同..但这就是我所做的,并且正在工作。
或者如果紧急需要,尝试从 IIS 设置更改 404 错误页面。
Try this way, almost same.. but that's what I did, and working.
or try to change the 404 error page from IIS settings, if required urgently.
有两种方法可以为 ASP.NET 站点配置自定义错误页面:
本文介绍了如何执行每种操作:
您的 error.aspx 页面未显示的原因可能是您的 web.config 中有错误。请尝试以下操作:
您可能需要确保IIS 管理器 - 功能委派中的
错误页面
设置为读/写 :此外,此答案可能会帮助您配置 web.config 文件:
There are 2 ways to configure custom error pages for ASP.NET sites:
This article explains how to do each:
The reason your error.aspx page is not displaying might be because you have an error in your web.config. Try this instead:
You might need to make sure that
Error Pages
in IIS Manager - Feature Delegation is set to Read/Write:Also, this answer may help you configure the web.config file:
如果文件扩展名已知(.html、.aspx 等),上面的代码仅适用于“找不到页面错误-404”
此外,您还可以将扩展名未知或不正确的客户错误设置为
.aspwx
或.vivaldo
。您必须在web.config
中添加httperrors
设置,它必须位于
Code above is only for "Page Not Found Error-404" if file extension is known(.html,.aspx etc)
Beside it you also have set Customer Errors for extension not known or not correct as
.aspwx
or.vivaldo
. You have to addhttperrors
settings inweb.config
it must be inside the
<system.webServer>
</system.webServer>
您的结束标记中是否存在拼写错误,即:
Is it a spelling error in your closing tag ie: