php - htaccess - $_server[''http_host'']
¿Cuál es la diferencia entre $_SERVER[''REQUEST_URI''] y $_GET[''q'']? (3)
Dado este ejemplo url:
http://www.example.com/some-dir/yourpage.php?q=bogus&n=10
$_SERVER[''REQUEST_URI'']
le dará:
/some-dir/yourpage.php?q=bogus&n=10
Mientras que $_GET[''q'']
te dará:
bogus
En otras palabras, $_SERVER[''REQUEST_URI'']
mantendrá la ruta de solicitud completa, incluida la querystring . Y $_GET[''q'']
le dará el valor del parámetro q
en la cadena de consulta.
¿ $_SERVER[''REQUEST_URI'']
es la diferencia entre $_SERVER[''REQUEST_URI'']
y $_GET[''q'']
(que se usa en Drupal)?
El manual de PHP explica ambos bastante bien:
http://php.net/manual/en/reserved.variables.server.php # REQUEST_URI
http://php.net/manual/en/reserved.variables.get.php # para la variable $ _GET ["q"]
En el contexto de Drupal, la diferencia dependerá de si las URL limpias están activadas o no.
Con ellos desactivados, $_SERVER[''REQUEST_URI'']
tendrá la ruta completa de la página que se llama w / /index.php
, mientras que $_GET["q"]
solo tendrá lo asignado a q
.
Con ellos encendidos, serán casi idénticos sin otros argumentos, pero $_GET["q"]
faltará el encabezado /
. Mire hacia el final del .htaccess predeterminado para ver qué está pasando. También serán diferentes si se pasan argumentos adicionales a la página, por ejemplo, cuando un buscapersonas está activo.