Register   Login
     
  Testimonials  

First, I  messed around with DNN. Why not? ...it's free! Then I quickly discovered what I could and could not do. Then I went to look for a forum.

Then, I came here.

All of the modules work exactly as I expect them, do exactly what I can't get DNN to do on my own- and the support provided is unprecedented.

Seriously- that Scott has developed his own module to help him make better modules is... ridiculously, tirelessly, professional.

With modules like this, I can do what I want with DNN. Without them - DNN doesn't do enough for me.

   -y01nk

  Project Details  

Aim

To increase the readability of Urls contained within the DotNetNuke project. This is a free downloadable project provided by Ventrian that contains full source code.

Features

The following is a list of items that are either planned for development or are in the current release.

1. Human Readable URLs for Pages - [COMPLETE]

The first required feature for this project is the introduction of a URL that is easily readable by humans.

For example, typical URLs in DotNetNuke, may look liks this:-

http://www.ventrian.com/Support/ProductForums/tabid/118/default.aspx

We ideally want to extract the system key, /tabid/118/ and be left with:-

http://www.ventrian.com/Support/ProductForums.aspx

This feature is currently implemented in the current version of the provider, URLs using the old format will still continue to resolve.

2. Removal of Duplicate URLs for tokens such as [TERMS], [PRIVACY], [LOGIN], [REGISTER] - [COMPLETE]

A problem with dotnetnuke are the controls that generate additional URLs based on the page you are on. These URLs point to the terms, privacy, login and register pages. A search engine may punish your site if you have a single page with the same content, but tie it to multiple URLs, it is also a waste of time for the crawler to search those pages.

For example, if you search dotnetnuke.com in google, and look for the following:-

site:www.dotnetnuke.com ctl/privacy

You will find 100s of pages, all pointing to the same page, but with the same content. If you add in a unique page for every piece of forum content (unique url), a deep index will visit many redundant pages for no reason.

This enhancement takes those tokens, and writes them out to the root of each site, as follows:-

All instances of the tokens in skins, will point to those URLs.

This feature is currently implemented in the current version of the provider, URLs using the old format will still continue to resolve.

3. Improved Handling of the Child Portal Url - [NOT COMPLETE]

A problem currently exists for child portals, where the first request actually becomes:-

http://www.dotnetnuke.com/Default.aspx?alias=www.dotnetnuke.com/contest

When you request:-

http://www.dotnetnuke.com/contest/

Ideally, we want the URL to look like:-

http://www.dotnetnuke.com/contest/default.aspx

Items for Discussion

The following is a list of items that are up for discussion. You may discuss these ideas in the forum here.

1. Human Readable URLs for Pages with Multiple Parameters

Performing transformations in "Human Readable URLs for Pages" was fairly simple, as it just requires a lookup on the internal field on the tabs table known as "TabPath". A problem occurs when you have multiple parameters, what should the URL look like for?

http://www.ventrian.com/Support/ProductForums/tabid/118/view/topics/forumid/1/Default.aspx

Obviously, it would be nice if the /tabid/118/ would disappear, but where should the other parameters go? /View/Topics/ForumID/1/

 

Installation (for 4.5.5+)

This provider will replace your existing URL provider, to install follow the below instructions:-

  1. Backup your existing provider, by making a copy of:-
    • <DNN INSTALLATION DIR>/bin/DotNetNuke.HttpModules.UrlRewrite.dll
    • <DNN INSTALLATION DIR>/web.config
  2. Download the Friendly URL provider from the module below
  3. Extract the zip file into your <DNN INSTALLATION DIR>/bin/ directory. It should only be 1 file (Ventrian.FriendlyUrl.dll) and replace the existing file. (You should have already backed that file up)
  4. Open up <DNN INSTALLATION DIR>/web.config and change the following:-

<add name="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules.UrlRewrite" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" urlFormat="HumanFriendly" />

becomes

<add name="DNNFriendlyUrl" type="Ventrian.FriendlyUrl.DNNFriendlyUrlProvider, Ventrian.FriendlyUrl" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" urlFormat="HumanFriendly" />

and

<add name="UrlRewrite" type="DotNetNuke.HttpModules.UrlRewriteModule, DotNetNuke.HttpModules.UrlRewrite" />

becomes

<add name="UrlRewrite" type="Ventrian.FriendlyUrl.UrlRewriteModule, Ventrian.FriendlyUrl"/>

Once you have done this, you may run your site, if you ever want to switch back, you can set urlFormat="SearchFriendly"

Installation (for older downloads)

This provider will replace your existing URL provider, to install follow the below instructions:-

  1. Backup your existing provider, by making a copy of:-
    • <DNN INSTALLATION DIR>/bin/DotNetNuke.HttpModules.UrlRewrite.dll
    • <DNN INSTALLATION DIR>/web.config
  2. Download the Friendly URL provider from the module below
  3. Extract the zip file into your <DNN INSTALLATION DIR>/bin/ directory. It should only be 1 file (DotNetNuke.HttpModules.UrlRewrite.dll) and replace the existing file. (You should have already backed that file up)
  4. Open up <DNN INSTALLATION DIR>/web.config and add the following change in (the addition is in bold):-

<friendlyUrl defaultProvider="DNNFriendlyUrl">
    <providers>
    <clear />
    <add name="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules.UrlRewrite" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" urlFormat="HumanFriendly" />
    </providers>
</friendlyUrl>

Once you have done this, you may run your site, if you ever want to switch back, you can set urlFormat="SearchFriendly"

  Downloads  
 TitleOwnerCategoryModified DateSize (Kb) 
Friendly Url Provider for 4.5.5+Scott McCulloch 10/1/200712.07Download
Friendly Url Provider Source for 4.5.5+ Scott McCulloch 10/1/200714.23Download
  Old Downloads  
 TitleOwnerCategoryModified DateSize (Kb) 
UrlRewrite Provider Source for 3.1/3.2/4.1/4.2Scott McCullochSource Code8/12/200716.39Download
UrlRewrite Provider Source for 3.3.4Scott McCullochSource Code8/12/200713.19Download
UrlRewrite Provider Source for 4.3.4Scott McCullochSource Code8/12/200716.91Download
UrlRewrite Provider for 3.1/3.2/4.1/4.2Scott McCullochProvider Assembly8/12/20078.83Download
UrlRewrite Provider for 3.3.4Scott McCullochProvider Assembly8/12/20078.04Download
UrlRewrite Provider for 4.3.4Scott McCullochProvider Assembly8/12/200710.91Download
  In the Spotlight  

Check out the latest module: File Links!