We have a CMS system that creates long URLs with many parameters. We would like to change the way they are presented, to make them more friendly.
Since we have many sites already built on this CMS, it’s a little difficult to rewrite the CMS to create friendly urls (although it’s a method we’re considering, if no alternative is found), we we’re looking for a method that when a user clicks on a long url, the url will change into a friendly one – in the browser – without using Response.Redirect().
In WordPress such a method exists (I’m not sure whether it’s done in code or in Apache), and I’m wondering if it could be done in ASP.NET 2.0 too.
Another thing to take into consideration is that the change between the urls has to be done by accessing the DB.
UPDATE: We’re using IIS6
We have a CMS system that creates long URLs with many parameters. We would
Share
In response to extra comments, I think what you need to do is bite the bullet and modify the CMS to write the new links out into the pages. You’ve already said that you have normal URL rewriting which can translate the new URLs to old when they’re incoming. If you were to also write out the new URLs in your markup then everything should simply work.
From an SEO point of view, if the pages your CMS produces have the old links, then that’s what the search engines will see and index. There’s nothing much you can do about that, javascript, redirect or otherwise. (although a permanent redirect would get you a little way there).
I also think that what you must have been seeing in Wordpres was probably a redirect. Without finding an example I can’t be sure though. The thing to do would be to use Fiddler or another http debugger to see what happens when you follow one of these links.
For perfect SEO, once you’ve got the new URLs working outbound and inbound, what you’d want to do is decide that your new URLs are the definitive URLs. Make the old URLs do a redirect to the new URLs, and or use a canonical link tag back to the new URL from the old one.