Подтвердить что ты не робот

В чем разница между $_SERVER ['REQUEST_URI'] и $_GET ['q']?

в чем разница между $_SERVER['REQUEST_URI'] и $_GET['q'] (которая используется в Drupal)?

4b9b3361

Ответ 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'] будет содержать полный путь запроса, включая querystring. И $_GET['q'] даст вам значение параметра q в запросе.

Ответ 2

В контексте Drupal разница будет зависеть от того, включены ли чистые URL-адреса.

С их помощью $_SERVER['REQUEST_URI'] будет иметь полный путь к странице, как называется w//index.php, а $_GET["q"] будет иметь только то, что назначено q.

С их помощью они будут почти идентичны без других аргументов, но $_GET["q"] будет отсутствовать ведущий /. Посмотрите на конец по умолчанию .htaccess, чтобы узнать, что происходит. Они также будут отличаться, если дополнительные аргументы передаются на страницу, например, когда активен пейджер.