--- globalredirect.module 2007-12-29 17:33:42.000000000 +0100 +++ globalredirect.new.module 2008-04-04 02:16:06.000000000 +0200 @@ -24,13 +24,24 @@ $query_string = NULL; } + global $language; + $request_untrimmed = $_REQUEST['q']; + + // Eliminate language prefix from request string + if ($language->prefix == $request_untrimmed) { + $request_untrimmed = ''; + } + else if($language->prefix .'/' == substr($request_untrimmed, 0, strlen($language->prefix)+1)) { + $request_untrimmed = substr_replace($request_untrimmed, '', 0, strlen($language->prefix)+1); + } + // If current path is also the frontpage, redirect to http://www.example.com - if (!empty($_REQUEST['q']) && drupal_is_front_page()) { - drupal_goto('', $query_string, NULL, 301); + if (!empty($request_untrimmed) && drupal_is_front_page()) { + drupal_goto('', $query_string, NULL, 301); } // Trim any trailing slash off the end (eg, 'node/1/' to 'node/1') - $request = trim($_REQUEST['q'], '/'); + $request = trim($request_untrimmed, '/'); // Check the path (eg, node/123) for a request $alias = drupal_get_path_alias($request); @@ -41,7 +52,7 @@ } // If the trimmed request differs to the request then redirect (basically, de-slash the source path) - if ($request != $_REQUEST['q']) { + if ($request != $request_untrimmed) { drupal_goto($request, $query_string, NULL, 301); }