如果我使用
Response.RedirectLocation ="login.aspx"
重定向页面,那么它与Responce.Redirect("~/login.aspx")
有什么不同吗?
谢谢。Response.Redirect(url);
会导致302重定向(临时重定向)并关闭响应,使用户的浏览器被重定向到替代URL。
如果您想永久更新一个URL,例如您已经更改了URL结构,希望让全世界知道这是一个永久性的变化(即搜索引擎将排名从旧URL传递到新URL),则应通过301永久重定向来指示。
可以按照以下方式完成:
Response.Status = "301 Permanent Redirect";
Response.StatusCode = 301;
Response.RedirectLocation = "http://newurl.com/";
Response.End();
Response.RedirectLocation
不会停止处理前面的代码(与Response.Redirect()
不同)。这意味着,除非您想继续处理任务,否则需要关闭连接。RedirectLocation
设置了Location
HTTP头。 Redirect
做了更多的事情,并使用3xx状态码完成响应。