Est-il possible d'accéder aux ancres d'une chaîne de requête via PHP?
-
20-08-2019 - |
Question
J'ai une page accessible via une URL comme celle-ci:
http://power-coder.net/Test/something .php? id = 3 # Page1
Je sais comment accéder au paramètre id à l'aide de $ _GET, puis-je accéder à la partie # Page1? J'ai consulté le tableau $ _SERVER et le message REQUEST_URI se termine à? Id = 3.
Je sais que je pourrais aussi changer la # Page1 pour qu'elle devienne un paramètre supplémentaire comme & amp; Page = 1, mais il y a une bonne quantité de code utilisant l'ancien type d'URL que j'aimerais éviter de réécrire. si possible.
Merci pour l'aide.
La solution
Non, il n'y a pas de moyen. La partie fragmentée (l'étiquette après #) n'est pas transmise au serveur.
Le navigateur récupère le document http://power-coder.net/Test /something.php?id=3 , puis accédez au bon ancrage (s’il en existe un) dans le document.
Autres conseils
Le texte correspondant de les spécifications :
4.1. Identifiant de fragment
Lorsqu'une référence URI est utilisée pour effectuer une action de récupération sur le ressource identifiée, l'identifiant de fragment optionnel, séparé de l'URI par un caractère hachuré (& "; # &"), se compose de informations de référence à interpréter par l'agent utilisateur après la l'opération de récupération a été effectuée avec succès. En tant que tel, ce n'est pas une partie d'un URI, mais est souvent utilisé en conjonction avec un URI.
Si quelqu'un cherche toujours une solution.
Il suffit de mettre '& amp;' avant la balise d'ancrage:
http://example.com/Test/something.php ? id = 3 & amp; # Page1
Testé sur Chrome, Firefox, Safari et IE11