DotNetNuke supports the concept of virtualised sites in a single install. This means that multiple sites, each potentially with multiple unique URL's, can exist in one instance of DotNetNuke i.e. one set of files and one database.
For DotNetNuke to know what site a request should load, it uses a system of portal aliases. When a request is received by DotNetNuke from IIS, it extracts the domain name portion and does a comparison against the list of portal aliases and then redirects to the relevant portal to load the appropriate page. There is further information on the logic behind this here
As of DotNetNuke version 5.6 Portal Aliases will automatically be created on a single tenenat installation. more information can be found here
Creating portal aliases
During install, the URL that is being used is automatically added as the default portal alias e.g. if you install a site under http//localhost/dotnetnuke_community , that path is added to the portal alias table.
To add additional aliases, log in as a superuser (such as host), and navigate to the portal i.e. either via Host->Portals, or else via Admin->Site Settings if on the required site already. Towards the bottom of the page you'll see the portal alias section.
A video on portal aliases can be seen here
Additional portal alias logic
- As well as doing a direct match for URL's, DotNetNuke supports domain wildcards e.g. if a request comes in for new.site.com and an appropriate portal alias is not detected, DotNetNuke will extract the top-level domain portal and try to match on that i.e. site.com.
- DotNetNuke will automatically try versions of the url with and without the www 2nd-level domain information e.g. a request to mysite.com will check for a portal alias of either mysite.com or www.mysite.com.
- Starting with DotNetNuke 5.6.0 anytime a single tenant DotNetNuke site (site with a single portal) is accessed we will check whether or not the alias used is a known alias; If it is not we will silently register the alias. Your site will be presented to you no matter how you access it, if IIS can map it so will DotNetNuke. More information on this can be found here