¿cuál es la diferencia entre $_SERVER['REQUEST_URI']
y $_GET['q']
(que se usa en Drupal)?
Respuesta
Teniendo en cuenta este ejemplo url:
http://www.example.com/some-dir/yourpage.php?q=bogus&n=10
$_SERVER['REQUEST_URI']
te dará:
/some-dir/yourpage.php?q=bogus&n=10
Mientras $_GET['q']
te dará:
bogus
En otras palabras, $_SERVER['REQUEST_URI']
contendrá la ruta de solicitud completa, incluido el querystring. Y $_GET['q']
le dará el valor del parámetro q
en la cadena de consulta.
El manual de PHP explica tanto bastante bien:
http://php.net/manual/en/reserved.variables.server.php # REQUEST_URI
http://php.net/manual/en/reserved.variables.get.php # para el $ _GET [ "q"] variable de
En el contexto de Drupal, la diferencia dependerá de si las URL limpias están activadas o no.
Con ellos fuera, $_SERVER['REQUEST_URI']
tendrá la ruta completa de la página como se llama w//index.php
, mientras $_GET["q"]
sólo tendrá lo que se asigna a q
.
Con ellos encendidos, serán casi idénticos sin otros argumentos, pero $_GET["q"]
faltará el /
principal. 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.
Esta es la única respuesta que aborda el motivo inicial de la pregunta (reescritura de url); en lugar de simplemente dar las definiciones más bien obvias de superglobales de php. No me malinterpreten, las otras respuestas son muy correctas en sí mismas, pero esta respuesta proporciona algunos antecedentes a la pregunta y realmente debería tener más votos favorables. – Levit
- 1. ¿Cuál es la diferencia entre $ _SERVER ['PATH_INFO'] y $ _SERVER ['ORIG_PATH_INFO']?
- 2. PHP: $ _SERVER ['REDIRECT_URL'] frente a $ _SERVER ['REQUEST_URI']
- 3. ¿Cuál es la diferencia entre% Q y% {} en ruby?
- 4. ¿Cuál es la diferencia entre {0} y ""?
- 5. Cuál es la diferencia entre = y: =
- 6. ¿Cuál es la diferencia entre .ToString (+) y ""
- 7. Cuál es la diferencia entre $ (...) y `...`
- 8. ¿cuál es la diferencia entre:.! y: r !?
- 9. ¿Cuál es la diferencia entre ".equals" y "=="?
- 10. ¿Cuál es la diferencia entre dict() y {}?
- 11. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 12. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 13. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 14. ¿Cuál es la diferencia entre + = y = +?
- 15. ¿Cuál es la diferencia entre " " y ""?
- 16. Cuál es la diferencia entre $ y jQuery
- 17. OpenGL (ES) - ¿Cuál es la diferencia entre frustum y orto?
- 18. Cuál es la diferencia entre la función() {}() y la función() {}()
- 19. ¿Cuál es la diferencia entre la abstracción y la encapsulación?
- 20. ¿Cuál es la diferencia entre @ y $ y% en MSBuild?
- 21. ¿Cuál es la diferencia entre la vinculación estática y dinámica?
- 22. ¿Cuál es la diferencia entre la sección .got y .got.plt?
- 23. ¿Cuál es la diferencia entre el colado y la coerción?
- 24. ¿cuál es la diferencia entre el complemento y la biblioteca?
- 25. ¿Cuál es la diferencia entre el casting y la conversión?
- 26. ¿Cuál es la diferencia entre WPF y la aplicación Silverlight?
- 27. ¿Cuál es la diferencia entre uno mismo y la ventana?
- 28. ¿Cuál es la diferencia entre CookieContainer y la colección Response.Cookies?
- 29. ¿Cuál es la diferencia entre la relación Composición y Asociación?
- 30. ¿cuál es la diferencia entre el material y la textura?
Um .. son dos cosas completamente diferentes? Creo que necesitará agregar algún contexto –