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 ...Human Friendly extensionless URLs using ISAPI rewrite?Human Friendly extensionless URLs using ISAPI rewrite?
Previous
 
Next
New Post
7/21/2008 10:20 PM
 

Hi - just to let you know, I'm the author of the Url Master module previously mentioned in this thread.

Adding an ISAPI rewriter to DNN won't solve your problems.   Why not?  Because the vast majority of DNN urls are internally generated by the framework itself, so any rewriting/friendly url solution has to work in with the DNN framework.

You need to think about DNN Friendly Urls as a three legged stool. 

One leg is the rewriting, which is the process of taking a human/search friendly url and internally rewriting it to what the rest of the DNN Framework expects in its internal processing.   This means taking /my-page-name.aspx and rewriting to /default.aspx?tabid=xx, or, in the case of modules with query string paramters, taking /my-page-name/my-important-id/345.aspx and turning it into /default.aspx?tabid=xx&my-important-id=345

The second leg is Friendly Url Generation, which is the process of providing code on the other end of the DNN core Friendly Url API, which can either be called directly through the FriendlyUrlProvider instance, or through the common.globals.navigateUrl() call.  Both end up in the same place if FriendlyUrls are switched on - the installed FriendlyUrlProvider.  On a standard DNN install, this is the core DNN Friendly Url provider.   The Friendly Url Provider takes a request for tabid xx, with the parameters of x and y, and gives you back a Url like http://www.mydomain.com/my-tab-name/x/y.

The third leg is the DNN-specific processing that the Url Rewriting process does, which is to identify, for each request, which portal in the DNN install the request is for.  As DNN can support many portals on the one install, each request coming into the installation needs to be separated and the correct portal information attached - so the framework can display the correct page, authenticate the right user - and everything else.

An external URL rewriting scheme like an ISAPI rewrite module can only perform one of these functions (Url rewriting) - and like any three-legged stool with one leg, it's not going to stand up very well.   Add to that, you'd have to create a very big rule base so that each friendly url could be translated from it's friendly form into the rewritten form.  Most ISAPI Rewriters use a regex set of rules, similar to what the mod-rewrite for Apache uses, and this doesn't work well with a dynamic, database driven CMS like DNN.     So you've really got a three-legged stool with half a leg.   And you can implement most of the rewrite rules in the standard siteUrls.config file, so there's really no need for an external rewriting solution (external to the DNN Code base, I mean)

If you want to support extension-less Urls, you can do this (even on IIS6) by mapping all requests to the asp.net runtime.  Whether you choose to do this (or have the security options to do so) is up to the hosting service you use.  You certainly can use DNN with no extensions - you can see an example at my site http://www.ifinity.com.au/   Of course, it runs the product I distribute (Url Master, DNN SEO Friendly Url Provider and Url Rewriter)  You can download and try out a fee trial of the module to see if it suits your needs.

There are other DNN Friendly Url Provider replacements as well - they may be able to remove the extension from the Url as well. 

It's true that with IIS7 it will be easier to provide extension-less ASP.NET Urls, and I will be tweaking the Url Master product to run in this configuration when IIS7 becomes more widespread.  But you don't have to wait until then - the ability is with us here and now.

 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Human Friendly extensionless URLs using ISAPI rewrite?Human Friendly extensionless URLs using ISAPI rewrite?


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