Nov 8, 2006 The easiest way to make a redirection in ASP.NET is using Response.Redirect(url).
What it actually does is, that it creates a response with the “302 (Object Moved)”
status code and the target destination. It tells the browser that the requested page
is temporarily moved to a new location and then the browser makes a request to the
new destination.
If the page is permanently moved, then the 302 status code is no longer correct. Search
engines also looks at 301 and 302 redirects differently. Here’s a quote from The
Internet Digest:
“From a search engine perspective, 301 redirects are the only acceptable
way to redirect URLs. In the case of moved pages, search engines will
index only the new URL, but will transfer link popularity from the old URL to the
new one so that search engine rankings are not affected.”
There is no natural way of doing a 301 redirect in ASP.NET, so you have to set the
HTTP headers manually. I’ve written a small method that illustrates how to do it.
All you have to do is to call it from the Page_Load or preferably from Page_Init or
in ASP.NET 2.0 Page_PreInit.
protected void Page_PreInit(object sender, EventArgs e)
{
PermanentRedirect("http://www.newsite.com");
PermanentRedirect("/newfolder/");
}
private void PermanentRedirect(string url)
{
Response.Clear();
Response.StatusCode
= 301;
Response.AppendHeader("location", url);
Response.End();
}
* Only $4.95/month ASP.NET & Windows 2008 + IIS 7 Hosting! FREE SQL Included