This tip is about publishing a DNN site up to a server which is running on Microsoft WebMatrix. Here, I would also like to share my experience with DotNetNuke, which has been nothing but great. It took me hardly 15 days to learn DNN, create an ASP.NET site in it, and upload it to a remote server from where it can be accessed publicly.
I must also add that my requirement was pretty simple, hence there was no need for me to create a module in it. Instead, I used the available modules along with some free modules from CodePlex.
The website was running perfectly in my localhost. Here, I would like to add that I was running the site in IIS Express (Web Matrix 2).
So to upload the site to the server, I followed the standard procedure, i.e., I took the backup of the database, which I restored on the server, then I copied all the DNN files from my local computer to the server.
Now, I could access my site from within the server, but when I tried to access from an outside environment, I got this error, BAD REQUEST.
After Googling a bit, I found that I needed to add a site alias (port alias) to my site in Site Settings under Host. In the alias, I needed to add a new alias replacing the localhost with the server's IP address.
I thought that would solve my problem, unfortunately, that was not to be. I was still getting the same error. Eventually, I saw that though adding a port alias was compulsory as otherwise the site will not be accessed by that URL, along with that I also had to modify the URL in my Web Matrix (ver 2) under Settings, replacing the localhost part with the server's IP address.
Points of Interest
I guess my Web Matrix was refusing any request with URL other than localhost. Once I added the server's IP address in place of localhost, my site became accessible publicly. One more thing, you also need to run the WebMatrix in Administrator mode otherwise you may get a URL Binding Error if you try to modify the localhost [Win 7+].