This is due to your Apache environment variable called PATH_INFO.
PATH_INFO
Actually, PATH_INFO is connected to the Apache web server, which serves PHP pages, not PHP.
PATH_INFO is the environment variable set by Apache when the AcceptPathInfo directive is enabled. It will contain information about the end of the path that follows the actual file name (or a nonexistent file in the existing directory), be accepted or rejected. Then the environment variables are passed to the Apache / CGI module, which is responsible for displaying the page.
The variable is available in PHP using $ _SERVER ['PATH_INFO'].
For example, suppose location / test / points to a directory that contains only one here.html file. Then the requests to /test/here.html/more and / test / nothere.html / more are collected / more like PATH_INFO.
This answer is copied from Andrew Moore Link to original answer
Lal krishnan SL
source share