2009-01-27 4 views
4

J'ai une page qui est accessible via une URL comme ceci:Est-il possible d'accéder aux ancres dans une chaîne de requête via PHP?

http://power-coder.net/Test/something.php?id=3#Page1

Je sais comment accéder au paramètre id en utilisant $ _GET, mais est-il un moyen pour moi d'accéder à la partie # Page1? J'ai regardé le tableau $ _SERVER et le REQUEST_URI se termine à? Id = 3.

Je sais que je pourrais également changer le # Page1 pour être un paramètre supplémentaire comme & Page = 1, mais il y a un peu de code en utilisant l'ancien type d'URL que je voudrais éviter de réécrire si du tout possible.

Merci pour l'aide.

Répondre

6

Non, il n'y a pas moyen. La partie de fragment (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 et passe à l'ancre correcte (s'il y en a une) dans le document.

+0

Merci, je viens de découvrir moi-même il y a un moment cela en regardant les journaux de demande pendant que j'ai chargé la page. –

3

Le texte pertinent de the specs:

4,1. Fragment Identificateur

Quand une référence URI est utilisé pour effectuer une action d'extraction sur la ressource identifiée, l'identificateur de fragment optionnel, séparé de l'URI d'un caractère hachurée (« n »), se compose de l'information supplémentaire et de référence à être interprété par l'agent utilisateur après que l'action de récupération a été exécutée avec succès. En tant que tel, il n'est pas une partie d'un URI, mais est souvent utilisé en conjonction avec un URI.

Questions connexes