404怎么办

404是我们经常遇到的一个问题,遇到了404怎么办呢?
404.jpg

以下用asp.net举例,首先要能拦截错误,特别是错误中的404

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

当然customErrors中可以增加defaultRedirect="error.aspx",不过我们暂时只对404,这样我们就可以用一个不存在的url尝试了,比如/web/test?a=1&b&c

Request.Params["a"]=1
Request.Params[null]=b,c
Request.Params["QUERY_STRING"]=a=1&b&c
PATH_INFO\SCRIPT_NAME\URL同时=/web/test

相比PATH_INFO比较写实,对于后边有扩展名和斜线的情况,URL比较简单吧,用ServerVariables不带参数解析,也可以用

foreach (string s in Request.ServerVariables.AllKeys)
{
    Response.Write(s + " --> " + Request.ServerVariables[s] + "<br />");
}

标签: none

添加新评论