If you’re building a site that contains nested applications, you may find yourself confused at what appears to be IIS completely disregarding your virtual directories. The behavior is by design. Although the applications will get isolated, the web.config settings from parent applications propagate to children applications. An easy fix is to simply wrap your web.config with the following to disable propagation :
<location path="." inheritInChildApplications="false"> <system.web> ... </system.web> </location>
Most sections can be wrapped at the exception of <configSections>, <runtime> and of course, the <configuration> root node.
Check out the full article on aspdotnetfaq.com for more details.