PHP 中究竟PATH_INFO是什么?
所有外部 URL 看起来像 'module/action?key1=param1'。无法自定义 - 但它很快。不同之处在于,第一个使用PHP的GET,第二个使用PATH_INFO。
我见过几次,但仍然不知道它到底是什么。它有什么作用?PATH_INFO
所有外部 URL 看起来像 'module/action?key1=param1'。无法自定义 - 但它很快。不同之处在于,第一个使用PHP的GET,第二个使用PATH_INFO。
我见过几次,但仍然不知道它到底是什么。它有什么作用?PATH_INFO
实际上,它与 Apache Web Server 服务 PHP 页面有关,而不是 PHP 本身。PATH_INFO
PATH_INFO
是 Apache 在打开 AcceptPathInfo
指令时设置的环境变量。它将包含尾随路径名信息,该信息跟在实际文件名或现有目录中不存在的文件之后,无论请求是被接受还是被拒绝。然后,环境变量被传递到负责呈现页面的 Apache/CGI 模块。
该变量在 PHP 中可使用 访问。$_SERVER['PATH_INFO']
例如,假定该位置指向仅包含单个文件的目录。然后请求 和 两者都收集为 ./test/
here.html
/test/here.html/more
/test/nothere.html/more
/more
PATH_INFO
由于变量PATH_INFO是CGI定义的一部分,因此您还应该看看那里;)
PATH_INFO变量指定要由 CGI 脚本解释的路径。它标识 CGI 脚本要返回的资源或子资源,并从标识脚本本身的部分后面的 URI 路径层次结构部分派生。与 URI 路径不同,PATH_INFO不是 URL 编码的,并且不能包含路径段参数。“/”PATH_INFO表示单个空隙路径段。
PATH_INFO = "" | ( "/" path ) path = lsegment *( "/" lsegment ) lsegment = *lchar lchar = <any TEXT or CTL except "/">