所有外部URL看起来都像'module / action?key1 = param1'。无法定制 - 但速度很快。 区别在于第一个使用PHP的GET,第二个使用PATH_INFO。
我已经多次见过PATH_INFO
,但仍然不知道究竟是什么。它做了什么?
答案 0 :(得分:43)
实际上,PATH_INFO
与提供PHP页面的Apache Web Server有关,而不是PHP本身。
PATH_INFO
是Apache在AcceptPathInfo
directive打开时设置的环境变量。它将包含跟踪现有目录中的实际文件名或不存在文件的尾随路径名信息,无论是接受还是拒绝请求。然后将环境变量传递给负责呈现页面的Apache / CGI模块。
可以使用$_SERVER['PATH_INFO']
在PHP中访问该变量。
例如,假设位置/test/
指向仅包含单个文件here.html
的目录。然后,/test/here.html/more
和/test/nothere.html/more
的请求都将/more
收集为PATH_INFO
。
答案 1 :(得分:19)
由于变量PATH_INFO是CGI定义的一部分,你还应该看一下;)