ASP.NET在从错误重定向时也会获取路径

ASP.NET在从错误重定向时也会获取路径,asp.net,Asp.net,我现在正在一个网站上工作,当人们有404时,它会使用此代码重定向他们 <customErrors mode="On"> <error statusCode="404" redirect="/errors/404.aspx?path="/> </customErrors> 当它重定向它们的时候,我怎么能使它这样做呢?它还把它重定向它们的路径放在哪里 因此,如果他们在mysite.com/shfsd.aspx上,它将重定向为/errors/404.a

我现在正在一个网站上工作,当人们有404时,它会使用此代码重定向他们

<customErrors mode="On">
    <error statusCode="404" redirect="/errors/404.aspx?path="/>
</customErrors>

当它重定向它们的时候,我怎么能使它这样做呢?它还把它重定向它们的路径放在哪里


因此,如果他们在mysite.com/shfsd.aspx上,它将重定向为
/errors/404.aspx?path=shfsd.aspx

我不知道有什么方法可以在这样的查询字符串中捕获URL引用者

但是,您可以轻松地将代码添加到
404.aspx.cs
代码隐藏中,并使用它执行您喜欢的操作:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        if (Request.Url != null)
        {
            var url = Request.Url.AbsoluteUri;
            //Do something like write to log file etc.
            //log.Write(url);
        }
        else
        {
            //Handle error from client who directly entered URL..
        }
    }
}

谢谢,我会试试的@没问题,如果这有助于您解决问题,请不要忘记标记所回答的问题<代码>受保护的无效页面加载(对象发送方,事件参数e){if(Request.urlReferer!=null){var urlReferer=Request.urlReferer.AbsoluteUri;Label1.Text=urlReferer;}否则{}是我所做的,没有任何变化…@loganrise我已经修改了上面的代码,请尝试
Url
而不是
urlreferer
。现在它得到的是当前请求,而不是最后一个请求。如果删除
?path=
,它将重定向到
/errors/404.aspx?aspxerrorpath=/Some/path
>