Last week, I started deploying a new DOTNETNUKE project on one of our DEV Server and instantly I got web configuration error.
Scenario: (IIS: Default Web Site is pointing to "C:\Inetpub\wwwroot" Virtual directory. (DOTNETNUKE Project)
Under the default web site I also created another virtual site which was pointing to D:\\Mysite directory. (Asp.net project)
Problem: http://localhost/default.aspx was working Ok. BUT http://localhost/mysite/default.aspx through a dotnetnuke error message.

This type of error message made me confused because “Mysite” website was pointing to D:\\mysite directory and I was getting dotnetnuke related error message. It was strange.
Solution: after Google search, I found that the newly created website automatically inherits the root web's config settings. For more info: http://msdn2.microsoft.com/en-us/library/b6x6shw7.aspx
Stop Inheritance: <location inheritinchildapplications="false"></ location> web.config tag
"The InheritInChildApplications property represents the inheritInChildApplicationsattribute of a element within a configuration file. Set InheritInChildApplications to false to prevent settings that are specific to a certain location, such as the root directory of a Web site, from being inherited by applications that exist in subdirectories.
The following example shows how to use this attribute in a configuration file to specify that the settings defined in the location element for the root of a Web site should not be inherited by child applications:"
The InheritInChildApplications property applies only to location-specific configuration settings.
Any configuration that's specified within such a location tag, does not inherit down. For example:
<location inheritinchildapplications="false"></location>
<system.webserver></system.webserver>
<asp></asp>
<system.web></system.web>
<dentity></dentity>
<system.web></system.web>
<connectionstrings></connectionstrings>
This solves the problem.