Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Help me handle URLS from another applicationHelp me handle URLS from another application
Previous
 
Next
New Post
1/10/2008 1:57 AM
 

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.

  1. 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.
  2. Modify the siteurls.config file heavily? I'm not sure this will be an option
  3. 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?


Chris Hammond
Former DNN Corp Employee, MVP, Core Team Member, Trustee
Christoc.com Software Solutions DotNetNuke Module Development, Upgrades and consulting.
dnnCHAT.com a chat room for DotNetNuke discussions
 
New Post
1/10/2008 6:38 AM
 

Hello Chris, as far as i know siteurls.config file shouldn't be modified heavily. If you have just few pages to add then you could use this option, however you are about to convert whole site.

With limited skills,  i don't know what can i do for you. But let me know if you need help at simple tasks, so you can work at priority tasks :)


Or-Rouge Team Or-Rouge
Personally recommend Hostgator for hosting single or multiple DotNetNuke Websites.
DotNetNuke Tips and Tutorials
Install DotNetNuke to Godaddy root
DotNetNuke Türkçe Hakkinda Hersey
 
New Post
1/10/2008 9:01 AM
 

Hi Chris,

I work on this kind of subject (SEO) from months for a French newpaper and I tested all available modules and httpmodules for rewrite url's without succes!

IMHO, the best way is to use IIRF (Ionic's ISAPI Rewrite Filter). Because it's an isapi filter, you must be able to install it on your server. It's a free open source project writen in C++. In other words, it's the more efficient way for rewrite a lot of url! Because the filter is called before ASP.NET and use C++.

IIRF use regex for match and transform urls, then you can do everything! The syntax is very close to mod_rewrite on LAMP and you can find a lot of sample on the web. It use an .ini file for store it's regex patterns and rules. For urls with ID, it's a little bit harder, but I think you can generate the ini file with an sql script.

Hope this help!

Gilles

EDIT: For test your regex, try this excellent free tool: The Regulator. Moreover, Roy Osherove use dnn for his web site! ;-)


We (team members) are Humans offering their knowledge, their work and their spare time FOR FREE to benefit the community. It would be so particularly appreciated that your messages begin with "Hello" and end with "Thank you" or any other form of politeness. Ask yourself what your reaction would be, if you were approached by me (a total stranger) on the street to ask you something without saying "Hello" nor "Thank you"? After several years of services dedicated to the community, I begin to be tired to read requests without any form of politeness.
 
New Post
1/10/2008 11:52 AM
 

I rely heavily on ISAPI rewrite.  Similar to iirf but an older, more mature product. 

Either way, I would use one of these as they operate before .net so the redirect would be faster than a module.

Since ISAPI filters run on every request, be sure to set pas-through rules for patterns you know are good like:

#pass through root requests
RewriteRule / $0 [L]

#pass through non DNN files
RewriteRule (.*)\.(gif|jpg|png|css|xml|html|js|pdf|xls) $0 [I,L]

# pass through for good URLs
RewriteRule /(login|terms|privacy|default|portals|desktop|searchresults|ScriptResource|WebResource)(.*) $0 [I,L]

A downside to filters is they will apply to all portals on the instance so make use of conditions

RewriteCond Host: www\.mydomain\.com

 

 
New Post
1/10/2008 1:20 PM
 

...also, have you checked Google webmaster tools? It tells you a wealth of information about your backlinks. 

You could redirect (301 only) all blog URLs to the main blogs page and just write special rules for the few with external back links (assumption).  Google will figure out the rest with in a few weeks (speaking from experience).

 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Help me handle URLS from another applicationHelp me handle URLS from another application


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out