GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Already on GitHub? Sign in to your account
There is a problem with the path info in the Request class.
Given a request to http://localhost/symfony-standard/app_dev.php, the info in the Request are as follows:
Request::getBaseUrl() returns /symfony-standard/app_dev.php (correct)
Request::getPathInfo() returns / which is wrong because it must be empty ``.
The reason is that Request::getBaseUrl() . Request::getPathInfo() must represent the real request path. Since it is lying about the real path, #3958 generates the incorrect relative path based on the wrong info.
Request::getBaseUrl() . Request::getPathInfo()
So there is a problem when the path info should be empty but never is (it defaults to /).
I think it's this commit that should be reverted: 62d09b8
Could this be assigned to a milestone? I think an error in the Request class is quite important.
@fabpot would you accept a PR that changes this back? Users of the Request class have to be aware that the pathinfo can be empty ('') when using a script in the path. The only other solution I see is to introduce a new method in the Request class with the corrected behavior and leave the current method as-is. Then we can dump the requirement in the Routing component for instance and use the new method. This would avoid a BC break but make the request class even more uglier than it already is.