【发布时间】:2012-09-20 09:58:29
【问题描述】:
我有一个 c# web 应用程序,即http://mysite.com
用户打开他的浏览器并输入http://mysite.com/anywrongpath
我想要做的是获取“确切”网址( /anywrongpath )然后将该用户重定向到即 /MainPage.aspx
我想我可以通过以下方式处理重定向:
protected void Application_Error(object sender, EventArgs e)
{
HttpException httpException = Server.GetLastError() as HttpException;
if (httpException.ErrorCode == 404)
Response.Redirect("/MainPage.aspx");
}
但是,我不知道如何处理键入的 url 的检索过程。我对“Sessions”、“Request.ServerVariables”、“Request.Url”等进行了研究,但我无法解决问题。
我愿意提供任何解决方法的想法,如果您提供微小的代码示例,我真的很高兴,thanx
穆拉特
【问题讨论】:
-
Request.Url有什么问题? -
我不确定您是否已经这样做了,但您可能想要设置自定义 404 页面。您可以将重定向放在那里,并且很可能此时也捕获 URL。这个链接讨论了编辑 web.config 来做到这一点。 serverfault.com/questions/68137/…
-
如果用户通过单击某物从 /mypage1 转到 /mypage2,是的,我可以通过
Response.Redirect("server-error.aspx?404&" & Request.Url.ToString())获取上一个 url 但是当用户通过手动输入浏览器进行“首次访问”时,我不能。
标签: c# redirect http-status-code-404