下午,
我想在没有使用的情况下将外部php文件包含到我的index.php中:index.php?p = pagetoinclude.php
我现在这样:index.php?page = home<这将包括home.php,但我完全忘记了如何做到这一点:
index.php / home / without“?”但改为使用“/”斜杠。
先谢谢了。 韦斯利。
答案 0 :(得分:0)
我应该指出,除非你正在进行适当的检查,否则包含通过GET参数传入的页面可能会非常不安全。
答案 1 :(得分:0)
看起来你正试图使用虚假的清晰网址。
在index.php上,您将获取URL,将其拆分为index.php /,然后根据需要解析其余字符串。
答案 2 :(得分:0)
Apache将这种功能命名为AcceptPathInfo
:
此指令控制是否接受或拒绝包含跟随实际文件名(或现有目录中不存在的文件)的尾随路径名信息的请求。尾部路径名信息可供 PATH_INFO 环境变量中的脚本使用。
例如,假设位置
/test/
指向仅包含单个文件here.html
的目录。然后,/test/here.html/more
和/test/nothere.html/more
的请求都将/more
收集为 PATH_INFO 。
您可以使用$_SERVER['PATH_INFO']
访问该环境变量:
包含任何客户端提供的路径名信息,该信息尾随实际脚本文件名但在查询字符串之前(如果可用)。例如,如果通过网址
http://www.example.com/php/path_info.php/some/stuff?foo=bar
访问了当前脚本,那么$_SERVER['PATH_INFO']
将包含/some/stuff
。
如果您没有Apache Web服务器或无法使用AcceptPathInfo
,您可能可以使用其他机制将这些请求重写到您的文件中,并以某种方式从请求的URI中获取路径信息部分。 / p>