Changed server check to ensure SCRIPT_NAME is defined. Fixes #57
diff --git a/system/core/URI.php b/system/core/URI.php
index 80dc62e..d565486 100644
--- a/system/core/URI.php
+++ b/system/core/URI.php
@@ -120,7 +120,7 @@
$path = (isset($_SERVER[$uri])) ? $_SERVER[$uri] : @getenv($uri);
$this->_set_uri_string($path);
}
-
+
// --------------------------------------------------------------------
/**
@@ -133,7 +133,7 @@
{
// Filter out control characters
$str = remove_invisible_characters($str, FALSE);
-
+
// If the URI contains only a slash we'll kill it
$this->uri_string = ($str == '/') ? '' : $str;
}
@@ -151,7 +151,7 @@
*/
private function _detect_uri()
{
- if ( ! isset($_SERVER['REQUEST_URI']))
+ if ( ! isset($_SERVER['REQUEST_URI']) OR ! isset($_SERVER['SCRIPT_NAME']))
{
return '';
}
@@ -184,12 +184,12 @@
$_SERVER['QUERY_STRING'] = '';
$_GET = array();
}
-
+
if ($uri == '/' || empty($uri))
{
return '/';
}
-
+
$uri = parse_url($uri, PHP_URL_PATH);
// Do some final cleaning of the URI and return it