summaryrefslogtreecommitdiffstats
path: root/system/libraries/URI.php
diff options
context:
space:
mode:
Diffstat (limited to 'system/libraries/URI.php')
-rw-r--r--system/libraries/URI.php8
1 files changed, 4 insertions, 4 deletions
diff --git a/system/libraries/URI.php b/system/libraries/URI.php
index aecf05138..d10a5daeb 100644
--- a/system/libraries/URI.php
+++ b/system/libraries/URI.php
@@ -65,7 +65,7 @@ class CI_URI {
// 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 @@ class CI_URI {
// 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 @@ class CI_URI {
// 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 @@ class CI_URI {
// 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;