all external URLs look like 'module/action?key1=param1'. No customization possible--but it's fast. The difference is that the first uses PHP's GET, and the second uses PATH_INFO.
I've seen PATH_INFO
several times, but still don't know what exactly it is. What does it do?
Actually, PATH_INFO
is related to the Apache Web Server serving PHP pages and not PHP per se.
PATH_INFO
is an environment variable set by Apache when the AcceptPathInfo
directive is turned on. It will contain trailing pathname information that follows an actual filename or non-existent file in an existing directory, whether the request is accepted or rejected. Environment variables are then passed on to the Apache/CGI module in charge of rendering the page.
The variable is accessible in PHP using $_SERVER['PATH_INFO']
.
For example, assume the location /test/
points to a directory that contains only the single file here.html
. Then requests for /test/here.html/more
and /test/nothere.html/more
both collect /more
as PATH_INFO
.
As the variable PATH_INFO is part of the definition for CGI you should also take a look in there ;)
来源:https://stackoverflow.com/questions/2261951/what-exactly-is-path-info-in-php