diff --git a/src/Http/RequestFactory.php b/src/Http/RequestFactory.php index 6678d019..f4878618 100644 --- a/src/Http/RequestFactory.php +++ b/src/Http/RequestFactory.php @@ -89,9 +89,8 @@ public function createHttpRequest() $url->setQuery(isset($tmp[1]) ? $tmp[1] : ''); // detect script path - $path = strtolower($path) . '/'; + $path .= '/'; $script = isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] . '/' : '/'; - $script = strtolower($script); $max = min(strlen($path), strlen($script)); for ($i = 0; $i < $max; $i++) { if ($path[$i] !== $script[$i]) { diff --git a/tests/Http/RequestFactory.scriptPath.phpt b/tests/Http/RequestFactory.scriptPath.phpt index feccf6c8..b7dd82a0 100644 --- a/tests/Http/RequestFactory.scriptPath.phpt +++ b/tests/Http/RequestFactory.scriptPath.phpt @@ -26,7 +26,7 @@ test(function() use ($factory) { test(function() use ($factory) { $_SERVER = array( 'REQUEST_URI' => '/projects/modules-usage/www/default/add-item', - 'SCRIPT_NAME' => '/projects/Modules-Usage/www/index.php', + 'SCRIPT_NAME' => '/projects/modules-usage/www/index.php', ); Assert::same( '/projects/modules-usage/www/', $factory->createHttpRequest()->getUrl()->getScriptPath() ); @@ -93,3 +93,13 @@ test(function() use ($factory) { Assert::same( '/configuration/', $factory->createHttpRequest()->getUrl()->getScriptPath() ); }); + + +test(function() use ($factory) { + $_SERVER = array( + 'REQUEST_URI' => '/blog/WWW/', + 'SCRIPT_NAME' => '/blog/www/index.php', + ); + + Assert::same( '/blog/', $factory->createHttpRequest()->getUrl()->getScriptPath() ); +});