Closed
Description
Description
When webserver (file) root is more specific than the request (URL) root, the current Symfony\Component\HttpFoundation\Request::prepareBaseUrl()
method
This is core method and it needs to be fixed asap.
How to reproduce
$request = Request::createFromGlobals();
(\Closure::bind(function() use($request) {
var_dump($_SERVER['SCRIPT_FILENAME']);
var_dump($_SERVER['SCRIPT_NAME']);
var_dump($_SERVER['PHP_SELF']);
var_dump($this->getRequestUri()); // used in Symfony\Component\HttpFoundation\Request::prepareBaseUrl()
var_dump($request->getBaseUrl()); // calls Symfony\Component\HttpFoundation\Request::prepareBaseUrl() on the first time
}, $request, \Symfony\Component\HttpFoundation\Request::class))();
Webserver config: serve requests with path ^/ps/*$
from C:/data/psmigr/ps_dev/
root directory
Current results
- access from
http://localhost/ps/pslrel18/adminX/
string(65) "C:/data/psmigr/ps_dev/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(20) "/ps/pslrel18/adminX/" string(20) "/ps/pslrel18/adminX/" string(0) ""
- access from
http://localhost/ps/pslrel18/adminX/something
string(65) "C:/data/psmigr/ps_dev/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(29) "/ps/pslrel18/adminX/something" string(29) "/ps/pslrel18/adminX/something" string(0) ""
- access from
http://localhost/ps/pslrel18/adminX/index.php
string(65) "C:/data/psmigr/ps_dev/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(29) "/ps/pslrel18/adminX/index.php" string(29) "/ps/pslrel18/adminX/index.php" string(29) "/ps/pslrel18/adminX/index.php"
Notice the last var_dump
in each result.
Expected results
- access from
http://localhost/ps/pslrel18/adminX/
string(65) "C:/data/psmigr/ps_dev/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(20) "/ps/pslrel18/adminX/" string(20) "/ps/pslrel18/adminX/" string(29) "/ps/pslrel18/adminX/index.php"
- access from
http://localhost/ps/pslrel18/adminX/something
string(65) "C:/data/psmigr/ps_dev/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(29) "/ps/pslrel18/adminX/something" string(29) "/ps/pslrel18/adminX/something" string(29) "/ps/pslrel18/adminX/index.php"
- access from
http://localhost/ps/pslrel18/adminX/index.php
string(65) "C:/data/psmigr/ps_dev/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(26) "/pslrel18/adminX/index.php" string(29) "/ps/pslrel18/adminX/index.php" string(29) "/ps/pslrel18/adminX/index.php" string(29) "/ps/pslrel18/adminX/index.php"