If you have an existing website that you are revamping or converting to a new content management system, you must consider what happens to your old URLs.
Not doing so means: 1) you will lose valuable traffic to previously linked or bookmarked resources, 2) you will annoy and possibly lose pre-existing customers, and 3) you will lose valuable search engine ranking and search engine traffic for previously indexed pages.
This is an important issue for any website migration or CMS implementation project that effects change on a website's structure. The good news is that it is easy to deal with.
In relative terms, addressing this concern is quite simple. What can potentially become painful is not the mechanism for dealing with this, but the volume of URLs you may potentially need to account for and the complexity of the URLs that you need to translate.
The basic principal is known as request re-writing. This has been implemented for both Apache and IIS. I'm sure other HTTP servers have the capability.
For Apache, you have mod_rewrite. This works fabulously for both Apache 1.x and Apache 2.x. For IIS you have ISAPI_Rewrite. ISAPI_Rewrite is based on mod_rewrite and works very well with IIS 4.0 and fairly well with IIS 6.0. There are some issues with application pools and IIS 6.0, but the basic functions work well in that environment.
These rewrite engines do their work at a low level in the HTTP server. Essentially, they can turn a request for say:
...in a way that is completely transparent to users, browsers, and robots.
These rewrite tools typically can perform several actions. The first is to transparently rewrite the request, such that the pages are served from a different location and the user never knows the difference.
The second is to redirect from the old URL to the new URL (the browser's address bar changes). Redirects can be temporarily moved (http status 302) or permanently moved (http status 301).
Finally, it is possible to transparently proxy requests, such that the actual content is being delivered from a completely separate web server at a completely different address, yet the user never notices the difference (the browser address bar does not change).
There are many, many things one can do with these tools. Making a CMS implemenation or migration run more smoothly is just one of them. With the flexibility they provide, the sky's the limit. This is just one exceptionally useful application. Read about Apache's mod_rewrite.
| Read about ISAPI_Rewrite
Helicon Tech (ISAP Rewrite folks) provide a nifty little Regular Expression testing utility. RE's have been known to induce fits of hair pulling, shirt renting, and other forms of temporary insanity. This tool helps