added check to make sure the URI path is not constructed entirely of slashes in URI::_fetch_uri_string()
diff --git a/system/libraries/URI.php b/system/libraries/URI.php
index aecf051..d10a5da 100644
--- a/system/libraries/URI.php
+++ b/system/libraries/URI.php
@@ -65,7 +65,7 @@
 			// build the URI string from the zero index of the $_GET array.

 			// This avoids having to deal with $_SERVER variables, which

 			// can be unreliable in some environments

-			if (is_array($_GET) AND count($_GET) == 1)

+			if (is_array($_GET) AND count($_GET) == 1 AND trim(key($_GET), '/') != '')

 			{

 				$this->uri_string = key($_GET);			

 				return;

@@ -74,7 +74,7 @@
 			// Is there a PATH_INFO variable?

 			// Note: some servers seem to have trouble with getenv() so we'll test it two ways		

 			$path = (isset($_SERVER['PATH_INFO'])) ? $_SERVER['PATH_INFO'] : @getenv('PATH_INFO');			

-			if ($path != '' AND $path != '/' AND $path != "/".SELF)

+			if (trim($path, '/') != '' AND $path != "/".SELF)

 			{

 				$this->uri_string = $path;

 				return;

@@ -82,7 +82,7 @@
 					

 			// No PATH_INFO?... What about QUERY_STRING?

 			$path =  (isset($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : @getenv('QUERY_STRING');	

-			if ($path != '' AND $path != '/')

+			if (trim($path, '/') != '')

 			{

 				$this->uri_string = $path;

 				return;

@@ -90,7 +90,7 @@
 			

 			// No QUERY_STRING?... Maybe the ORIG_PATH_INFO variable exists?

 			$path = (isset($_SERVER['ORIG_PATH_INFO'])) ? $_SERVER['ORIG_PATH_INFO'] : @getenv('ORIG_PATH_INFO');	

-			if ($path != '' AND $path != '/' AND $path != "/".SELF)

+			if (trim($path, '/') != '' AND $path != "/".SELF)

 			{

 				$this->uri_string = $path;

 				return;