$_SERVER['REQUEST_URI'] 和 $_GET['q'] 之间有什么区别?

2022-08-30 12:59:52

和(在Drupal中使用)有什么区别?$_SERVER['REQUEST_URI']$_GET['q']


答案 1

给定此示例 url:

http://www.example.com/some-dir/yourpage.php?q=bogus&n=10

$_SERVER['REQUEST_URI']将为您提供:

/some-dir/yourpage.php?q=bogus&n=10

鉴于将为您提供:$_GET['q']

bogus

换句话说,将保存完整的请求路径,包括查询字符串。并会在查询字符串中为您提供参数的值。$_SERVER['REQUEST_URI']$_GET['q']q


答案 2

在Drupal的上下文中,差异将取决于干净的URL是否打开。

关闭它们后,将具有名为 w/ 的页面的完整路径,而将仅具有分配给 的内容。$_SERVER['REQUEST_URI']/index.php$_GET["q"]q

打开它们后,如果没有其他参数,它们将几乎相同,但将缺少前导。在默认的 .htaccess 末尾查看一下,看看发生了什么。如果将其他参数传递到页面中,例如当寻呼机处于活动状态时,它们也会有所不同。$_GET["q"]/


推荐