We help IT Professionals succeed at work.

How to 301 redirect old URLs from a JSP site to an ASP.NET site?

cacklebunny
cacklebunny asked
on
Medium Priority
373 Views
Last Modified: 2013-12-17
Hello:
I am migrating a website that was once hosted on an Apache/Tomcat environment running JSP. We now have it converted to C# and moved to an ASP.NET platform.

So as not to affect our SEO rankings, how do I handle the old URLs?  I can't seem to get this to work in global.asax.

For example, on the old site we have the following URL:

http://www.mysite.com/programs/program-schedule.jsp

It now points to:

http://www.mysite.com/schedules/program-schedule.aspx

I've tried looking for the request URL in the global.asax file using either Application_Start() or Application_BeginRequest(), but what happens is the 404 catches first and it just takes it to the 404 page.  I can't seem to capture what the user has entered and then perform a 301 redirect on that page.

Any ideas?  Attached is the code that DOESN'T work.
void Application_BeginRequest(Object sender, EventArgs e)
    {
        string strAbsolutePath = System.Web.HttpContext.Current.Request.Url.AbsolutePath.ToString();
        string[] aAbsolutePath = strAbsolutePath.Split('/');
 
        if (aAbsolutePath[1] != null)
        {
            switch (aAbsolutePath[1])
            {
                case "programs":
                    RedirectExternal("http://www.mysite.com/schedules/program-schedule.aspx");
                    break;
 
 
                default:
                    //do nothing
                    break;
            }
 
        }
}
 
protected void RedirectExternal(string nURL)
    {
        // Perform a 301 Redirect.
        Response.Clear();
        Response.Status = "301 Moved Permanently";
        Response.AddHeader("Location", nURL);
        Response.End();
    }

Open in new window

Comment
Watch Question

Author

Commented:
Mohan:

Thanks for the links.  Unfortunately, these pages reflect rudimentary tutorials and explanations about what a 301 redirect is and 301 best practices, both of which I'm already familiar.  They do not address my specific issue.

Thanks again.
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.