? sites/local.drupal7.org
? sites/all/modules
? sites/default/settings.php
Index: includes/bootstrap.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/bootstrap.inc,v
retrieving revision 1.211
diff -u -p -r1.211 bootstrap.inc
--- includes/bootstrap.inc	26 May 2008 17:12:54 -0000	1.211
+++ includes/bootstrap.inc	18 Jun 2008 01:10:54 -0000
@@ -287,15 +287,19 @@ function conf_path($require_settings = T
 
   $confdir = 'sites';
   $uri = explode('/', $_SERVER['SCRIPT_NAME'] ? $_SERVER['SCRIPT_NAME'] : $_SERVER['SCRIPT_FILENAME']);
+  array_pop($uri);
+  $uri_string  = '';
   $server = explode('.', implode('.', array_reverse(explode(':', rtrim($_SERVER['HTTP_HOST'], '.')))));
-  for ($i = count($uri) - 1; $i > 0; $i--) {
-    for ($j = count($server); $j > 0; $j--) {
-      $dir = implode('.', array_slice($server, -$j)) . implode('.', array_slice($uri, 0, $i));
+  $n = count($server);
+  while (count($uri) > 0) {
+    for ($j = 0; $j < $n; $j++) {
+      $dir = implode('.', array_slice($server, $j)) . $uri_string;
       if (file_exists("$confdir/$dir/settings.php") || (!$require_settings && file_exists("$confdir/$dir"))) {
         $conf = "$confdir/$dir";
         return $conf;
       }
     }
+    $uri_string = '.'. array_pop($uri) . $uri_string;
   }
   $conf = "$confdir/default";
   return $conf;
