I've been trying to simplify a large chunk of DotNetNuke for our users; since they have zero knowledge on Administration, Development, and Design.
So I configured DotNetNuke's Site Alias feature.
- Changed Canonical to None
- Disabled Auto Add Site Alias
This way when DotNetNuke has a newly created instance, it will aggregate the proper URL's for this new instance.
I've got a Template that is our primary web-site with DotNetNuke designed and configured how we would like it. This Template is now the mockup provided to our users. So I've configured an automated framework to:
- Create a new directory, to copy templates contents into.
- Create a new Site (Bindings) and Application-Pool in IIS
- Create a new Database (Copy Template Database into new one)
- Modify Web.Config to point to this new structure.
This was all working until recently, now it isn't working correctly. Every time a site is copied manually or automatically I receive an Error 404. I've tried the following:
- Randomly place an image on the root, then try to reference the URL. (Which works)
- Tried creating a brand new DotNetNuke instance, copied manually and the error occurred.
- Tried reconfiguring the Site Alias (Cleared Cache and Application Pool) still error's.
- Tried placing new upgrade files into the instance, still fails.
I'm not sure where the error is, though I need to get it resolved. I thought it could of been the bindings; but I've changed them and still no luck. I feel like it could be DotNetNuke but I'm not entirely sure. The code I used to create the bindings:
using (ServerManager manager = new ServerManager())
{
Site configureSite = manager.Sites.Add(webAddress, Path.Combine(root, webAddress), 80);
manager.ApplicationDefaults.ApplicationPoolName = webAddress + @"Pool";
configureSite.TraceFailedRequestsLogging.Enabled = true;
configureSite.TraceFailedRequestsLogging.Directory = log;
configureSite.Bindings.Clear();
configureSite.Bindings.Add(@"*:80:" + webAddress + @"." + domain, @"http");
configureSite.Bindings.Add(@"*:80:" + @"www." + webAddress + @"." + domain, @"http");
configureSite.ServerAutoStart = true;
manager.CommitChanges();
}
This has had me stumped for the past four days, some assistance would be most welcomed. I'm not sure the cause or culprit at this point; which makes it more difficult.
After further diagnoses, the fact that I could directly access an image file within DotNetNuke's Root Folder indicated that DotNetNuke wasn't serving the page correctly. Under Admin Settings and through the advanced tab I modified the Site Alias back to Canonical and Auto Add which fixed the issue.
Though this can occassionaly cause URL aggregation issues; it has fixed the issue but may introduce others based on my implementation. However it appears to of solved the Error 404 and DotNetNuke not serving proper page.