$_SERVER['REQUEST_URI']和$_GET['q'](用于Drupal)有什么区别?
Dec*_*ler 127
给出这个示例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']将保存包括查询字符串的完整请求路径.并将在querystring中$_GET['q']为您提供参数的值q.
mpd*_*dio 13
在Drupal的上下文中,差异将取决于是否打开了干净的URL.
关闭它们,$_SERVER['REQUEST_URI']将具有所谓的w /页面的完整路径/index.php,同时$_GET["q"]将具有分配的内容q.
随着它们的开启,它们将与其他论点几乎完全相同,但$_GET["q"]将失去领先优势/.看看默认.htaccess的结尾,看看发生了什么.如果将其他参数传递到页面中,例如当寻呼机处于活动状态时,它们也会有所不同.
mar*_*rio 11
PHP手册很好地解释了:
http://php.net/manual/en/reserved.variables.server.php #REQUEST_URI
$ _GET ["q"]变量的http://php.net/manual/en/reserved.variables.get.php#