我想知道是否可以将php文件视为目录,以便index.php/abc/def
真正调用index.php。然后index.php应该知道子目录路径(即/abc/def
)。
我正在寻找一个简单的php解决方案。我知道我可以使用mod_rewrite将目录映射到GET参数。
答案 0 :(得分:3)
如果我没记错,您应该能够从$ _SERVER ['PHP_SELF']中解析出这些信息。
编辑:更好的是,看看$ _SERVER [“PATH_INFO”]。
答案 1 :(得分:3)
如果启用了Apache的AcceptPathInfo
指令,这将是有效的,这是默认设置。来自manual:
具有尾随路径名信息的请求的处理由负责该请求的处理程序确定。普通文件的核心处理程序默认拒绝PATH_INFO请求。提供脚本的处理程序(如cgi-script和isapi-handler)通常默认接受PATH_INFO。
您可以使用$_SERVER["PATH_INFO"]
指令查询输入的路径。您必须在脚本中自己解析路径。
答案 2 :(得分:1)
普通的PHP解决方案是不可能的,因为所谓的文件就是。
文件中的PHP并不关心它的位置或者它所处的文件是如何调用的,而不是用于包含目的。
您正在寻找的是要么说服操作系统将/ abc / def /作为参数传递给脚本,要么让Web服务器执行相同的操作(即mod.rewrite for apache)。