--- common.inc.1 2004-11-21 17:24:49.000000000 +0100 +++ common.inc 2004-11-21 17:43:46.000000000 +0100 @@ -1455,7 +1455,7 @@ function form_weight($title = NULL, $nam function url($path = NULL, $query = NULL, $fragment = NULL, $absolute = FALSE) { global $base_url; - static $script; + static $script, $parts; if (empty($script)) { // On some web servers, such as IIS, we can't omit "index.php". So, we @@ -1470,7 +1470,15 @@ function url($path = NULL, $query = NULL $fragment = '#'. $fragment; } - $base = ($absolute ? $base_url . '/' : ''); + if ($absolute) { + $base = $base_url . '/'; + } + else { + if (!isset($parts)) { + $parts = parse_url($base_url); + } + $base = (($path == '/') ? '' : $parts['path'] . '/'); + } if (variable_get('clean_url', '0') == '0') { if (isset($path)) {