Solved

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

Posted on 2009-07-01
5
339 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

0
Comment
Question by:cacklebunny
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 15

Expert Comment

by:mohan_sekar
ID: 24756952
0
 
LVL 15

Expert Comment

by:mohan_sekar
ID: 24756958
0
 
LVL 15

Expert Comment

by:mohan_sekar
ID: 24756968
0
 
LVL 2

Author Comment

by:cacklebunny
ID: 24758258
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.
0
 
LVL 2

Accepted Solution

by:
cacklebunny earned 0 total points
ID: 24766555
Since no answer is forthcoming, I've researched and found an ISAPI plugin that looks like it will achieve what I want.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question