Fix PATH_INFO determination for base directories on lighttpd
authorMichael M Slusarz <slusarz@curecanti.org>
Tue, 21 Jul 2009 03:18:07 +0000 (21:18 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Tue, 21 Jul 2009 22:25:59 +0000 (16:25 -0600)
framework/Util/lib/Horde/Util.php

index 930f697..2fa53a9 100644 (file)
@@ -945,11 +945,12 @@ class Horde_Util
      */
     static public function getPathInfo()
     {
-        if (isset($_SERVER['PATH_INFO']) && strpos($_SERVER['SERVER_SOFTWARE'], 'lighttpd') === false) {
+        if (isset($_SERVER['PATH_INFO']) &&
+            (strpos($_SERVER['SERVER_SOFTWARE'], 'lighttpd') === false)) {
             return $_SERVER['PATH_INFO'];
         } elseif (isset($_SERVER['REQUEST_URI']) &&
                   isset($_SERVER['SCRIPT_NAME'])) {
-            $search = array($_SERVER['SCRIPT_NAME']);
+            $search = array((basename($_SERVER['SCRIPT_NAME']) == 'index.php') ? dirname($_SERVER['SCRIPT_NAME']) . '/' : $_SERVER['SCRIPT_NAME']);
             $replace = array('');
             if (!empty($_SERVER['QUERY_STRING'])) {
                 $search[] = '?' . $_SERVER['QUERY_STRING'];