ASP.NET在从错误重定向时也会获取路径
我现在正在一个网站上工作,当人们有404时,它会使用此代码重定向他们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
<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
>