在PHP中此请求后会发生什么

时间:2019-03-29 14:39:33

标签: php html http

我在网站上看到一些奇怪的代码。我对此很困惑。我已经测试了自己的服务器的http请求:

http://192.168.1.3/folder/ui/login_html.php/TEST/TEST

名为login_html.php和TEST的文件夹不存在。我检查了Chrome的调试信息。它可以正确请求文件,但无法解析。debug information
似乎将请求login_html.php中引用的所有css和js资源,并且该请求由 TEST 发起。
顺便说一句,我在login_html.php中什么也没做,我只是引用文件并编写一些html代码。
access_log 中有一个Apache信息,而 error_log 中没有任何信息:

"GET /cos/ui/login_html.php/TEST/js/cloudmanager.js HTTP/1.1" 200 9564 "http://192.168.1.3/cos/ui/login_html.php/TEST/TEST" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"

对此我感到困惑。有人可以解释吗?

1 个答案:

答案 0 :(得分:-1)

?之后的所有内容都是查询字符串。 通常,它包含var1=value1&var2=value2形式的变量。在这种情况下,PHP会自动解析它们并将它们放入$_GET数组中。

在您的示例中,查询字符串不包含一组常规变量,因此$_GET数组可能很少使用。但是,您仅可以从$_SERVER数组中获取整个查询字符串。

$var = $_SERVER['QUERY_STRING'];
// $var would be "/HOME/getVersion"