zoukankan      html  css  js  c++  java
  • asp.net 404页面

    平常在web.config文件中设置404错误页面时,我想相当一部分人代码是这样的:

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

    这样的话,页面就直接跳转到error.aspx页面,地址栏的地址也会跟着改变,而且页面的状态码不是404而是302(可以用站长工具中的HTTP状态查询工具测试,或者是火狐的live http headers插件)。

    很多人都漏掉了redirectMode这个属性,这个属性是用来指定错误页面跳转方式的,有两个值,分别是ResponseRedirect和ResponseRewrite,默认是ResponseRedirect,这种情况是通过Response.Redict进行跳转,地址栏会改变,而ResponseRewrite则是通过Server.Transfer进行跳转,地址不变。

    <customErrors mode="On" defaultRedirect="error.aspx" redirectMode="ResponseRewrite">
          <error statusCode="404" redirect="error.aspx" />
    </customErrors>

    光是做这一步还不行,在error.aspx.cs的输出代码中,还得加上这么一句:

    Response.StatusCode = 404;
    

    否则页面的输出代码会变成200。

    希望这点小东西能对园子的各位朋友有帮助。

  • 相关阅读:
    面向对象并不是必要的
    linq 总结
    垃圾自动回收的一个方案
    随手记 手机软件的不足,和开发自己理财软件的想法
    以人的角度去解决问题
    浮点数比较
    集中原则——软件设计之道
    云在何方
    我遇到了DLL地狱
    在C#.net中如何操作XML
  • 原文地址:https://www.cnblogs.com/gulangduxiao/p/2553862.html
Copyright © 2011-2022 走看看