如何更改 Asp.Net 中 customErrors 页面的默认行为

发布于 2024-12-02 08:15:51 字数 1003 浏览 1 评论 0原文

我使用 Asp.Net 4 和 C#。

我想知道如何更改 Asp.Net customErrors 的默认行为。

在我的 Web.Config 文件中,我使用此设置。

    <customErrors mode="On" defaultRedirect="/ErrorPages/Oops.aspx">
        <error statusCode="404" redirect="/ErrorPages/404.aspx" />
    </customErrors>

正如您所期望的,如果找不到页面,则会重定向到 Web.Config 中指定的自定义页面。


请求的页面:

http://localhost:1372/nopagehere

结果页面:

http://localhost:1372/ErrorPages/404.aspx?aspxerrorpath=/nopagehere

当我分析结果页面的 Http 标头时,我可以看到:

  • 未找到页面时的 404 状态
  • 新创建的 url 的 302 状态

我想以这种方式更改此行为:

知道如何做它?感谢您抽出时间来讨论这个问题。

I use Asp.Net 4 and C#.

I would like to know how to change the default beahviour of Asp.Net customErrors.

In my Web.Config file I use this settings.

    <customErrors mode="On" defaultRedirect="/ErrorPages/Oops.aspx">
        <error statusCode="404" redirect="/ErrorPages/404.aspx" />
    </customErrors>

As you can expect if a page is not found a redirect occur to the custom page specified in Web.Config.


Requested page:

http://localhost:1372/nopagehere

Result page:

http://localhost:1372/ErrorPages/404.aspx?aspxerrorpath=/nopagehere

When I analyse the Http Header for the Result page I can see:

  • a 404 Status when the page is not found
  • a 302 Status for the new created url

I would like change this behavior in this way:

Any idea how to do it? Thanks for your time on this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

再见回来 2024-12-09 08:15:51

我猜您正在寻找 部分中的 redirectMode 属性。

请参阅:http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx

我认为您想将其设置为redirectMode="ResponseRewrite"。这会引发 404 并显示 404 页面的内容,但不会重定向到实际的 404 页面。

I guess you are looking for the redirectMode attribute on your <customErrors> section.

See: http://msdn.microsoft.com/en-us/library/h0hfz6fc.aspx

I think you want to set it to redirectMode="ResponseRewrite". This throws a 404 and shows the content of your 404 page, but without redirecting to the actual 404 page.

又爬满兰若 2024-12-09 08:15:51

也许从自定义错误中删除状态代码 404 并让默认重定向页面处理它。

Maybe removing the status code 404 from the custom errors and let the default redirect page handle it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文