quelle est la différence entre la variable $_SERVER['REQUEST_URI'] et $_GET['q']?
quelle est la différence entre $_SERVER['REQUEST_URI']
et $_GET['q']
(qui est utilisé dans Drupal)?
- Euh.. ils sont deux choses totalement différentes? Je pense que vous aurez besoin d'ajouter un peu de contexte
Vous devez vous connecter pour publier un commentaire.
Donné cet exemple d'url:
http://www.example.com/some-dir/yourpage.php?q=bogus&n=10
$_SERVER['REQUEST_URI']
vous donnera:/some-dir/yourpage.php?q=bogus&n=10
Alors que
$_GET['q']
vous donnera:bogus
En d'autres termes,
$_SERVER['REQUEST_URI']
va contenir le chemin de demande, y compris la querystring. Et$_GET['q']
vous donnera la valeur de paramètreq
dans la chaîne de requête.Dans le contexte de Drupal, la différence dépendra de savoir si les URLs "propres" ou pas.
Avec eux,
$_SERVER['REQUEST_URI']
auront le chemin complet de la page, aussi appelé w//index.php
, tandis que$_GET["q"]
juste ce qui est attribué àq
.Avec eux, ils sera presque identique w/o d'autres arguments, mais
$_GET["q"]
sera absent de la pointe/
. Prendre un coup d'oeil vers la fin de la valeur par défaut .htaccess pour voir ce qui se passe. Ils diffèrent également si d'autres arguments sont passés dans la page, par exemple lorsqu'un avertisseur est activé.Le manuel PHP explique assez bien:
http://php.net/manual/en/reserved.variables.server.php # REQUEST_URI
http://php.net/manual/en/reserved.variables.get.php # pour le $_GET["q"] variable