¿Es posible acceder a los anclajes en una cadena de consulta a través de PHP?
-
20-08-2019 - |
Pregunta
Tengo una página a la que se accede a través de una URL como esta:
http://power-coder.net/Test/something .php? id = 3 # Página1
Sé cómo acceder al parámetro id usando $ _GET, sin embargo, ¿hay alguna forma de acceder a la parte # Page1? He mirado la matriz $ _SERVER y el REQUEST_URI termina en? Id = 3.
Sé que también podría cambiar el # Page1 para que sea un parámetro adicional como & amp; Page = 1, sin embargo, hay un poco de código que usa el tipo de URL anterior que me gustaría evitar volver a escribir si es posible.
Gracias por la ayuda.
Solución
No, no hay manera. La parte del fragmento (la etiqueta después de #) no se transmite al servidor.
El navegador recupera el documento http://power-coder.net/Test /something.php?id=3 y luego vaya al anclaje correcto (si hay uno) en el documento.
Otros consejos
El texto relevante de las especificaciones :
4.1. Identificador de fragmento
Cuando se utiliza una referencia de URI para realizar una acción de recuperación en el recurso identificado, el identificador de fragmento opcional, separado de el URI por un carácter de sombreado (" # "), consta de caracteres adicionales información de referencia para ser interpretada por el agente de usuario después de La acción de recuperación se ha completado con éxito. Como tal, no es parte de un URI, pero a menudo se usa junto con un URI.
En caso de que alguien siga buscando una solución.
Solo pon '& amp;' antes de la etiqueta de anclaje:
http://example.com/Test/something.php ? id = 3 & amp; # Page1
Probado en Chrome, Firefox, Safari e IE11