I manage several DotNetNuke sites and noticed I had not enabled friendly URL’s on one. This is a typical DNN URL…which is not very intuitive
http://www.mainesgna.org/AboutMSGNA/SGNAMembershipBenefits/tabid/67/Default.aspx

Using the Friendly URL feature this is the same page’s URL:
http://www.mainesgna.org/AboutMSGNA/SGNAMembershipBenefits.aspx

I wanted to changed the URL scheme, but I didn’t want lose my search rankings so needed to create a rewrite rule to inform search engines with a 302 redirect that the pages have a new home. I use the Helicon product ISAPII Rewrite.

Here are the steps to do this.

  1. Enable Friendly URL’s in Web.Config. Do this by adding the urlFormat attribute of HumanFriendly to the friendlyUrl node:
          
    
    
          
            
            
          
        
    
  2. Create a Rewrite Rule for isapii Rewrite 2
    RewriteCond Host: www.yourdomain.com
    RewriteRule ^(.*)/tabid/d+/Default.aspx$ $1.aspx [I,RP,L]
  3. The Syntax for Isappi Rewrite 3 is:
  4. RewriteCond %{HTTP:Host} ^www.yourdomain.com$
    RewriteRule ^(.*)/tabid/d+/Default.aspx$ $1.aspx [NC,L,R=301]

    If your not using the lite (free) version of Helicon, and your rewrite file is in the DotNetNuke web root, you can skip the ReWriteCond line.