Alright, I give a LOT to this community, now I'm going to ask for a little help back :)
I'm working on converting my personal website, http://chrishammond.com from CommunityServer to DotNetNuke (4.8.0). I actually have all of the conversion scripts taken care of for the data itself. I'm now left with figuring out how I am going to handle all of the existing URLs for the site. Here are some of the sample URLs I need to handle. (there are a few thousand different URLs that I need to handle, these are just samples of some of the formats)
/blogs/archive/tags/stl/default.aspx
/blogs/archive/tags/stl/default.aspx
/blogs/archive/2008/01.aspx
/blogs/archive/2008/01/09/2008-the-year-of-the-hobby.aspx
/blogs/archive/2005/07/25/1395.aspx
The new url for a blog entry would redirect to a specific page (/desktopmodules/engagepublish/itemlink.aspx?itemid=##) passing in an ID. This itemLink page does a 301 redirect to a new URL format with the name of the blog entry in the URL. The tags and dates would be handled in a similiar manner except they would go directly to a DNN page with querystring parameters.
The /blogs/ directory will no longer exist on the server, and the blog page on my site will NOT be called blogs so we wouldn't see chrishammond.com/blogs/tabid/##/*
A few thoughts on how I might handle these.
- I could just write a web application that lives in /blogs/ and looks at all incoming requests, parses through the requests and does a 301 redirect to the new URLs.
- Modify the siteurls.config file heavily? I'm not sure this will be an option
- Modify DNN's friendly URL provider to handle the URLs and looking up the new values.
Whatever route I go with, I understand that I'll have to do some SQL mapping to figure out what ID from CS matches to the ID in my DNN module, that I'm not too worried about. I guess my biggest concern is, who catches the requests to /blogs/ and does the parsing? Write a standalone app? Write a new HTTPModule to do it?
So let's have a discussion, if you were doing something similiar, trying to handle the above URLs (potentially thousands of them) what would you do?