Formation d'URL correcte avec la chaîne de requête et le hashtag d'ancrage


114

Lorsqu'une chaîne de requête et une balise d'ancrage (balise de hachage) sont visibles dans une URL, quel est leur ordre d'apparition?

http://www.whatever.com?var=val#anchor

ou

http://www.whatever.com#anchor?var=val

Existe-t-il de la documentation à ce sujet?

mise à jour: les URL sont gérées par Wordpress / PHP

Réponses:


149
?var=var#hash

tout après #est côté client.

Examinez également la réécriture d'URL pour vous débarrasser de la laideur ?var=var


26
La chaîne de requête est moche mais elle a son but et est plus flexible
Morio

7
Quel est le problème avec l'utilisation de chaînes de requête? ils font partie de la norme HTTP pour une raison
Julio Bastida

Oui, mais pour les SPA (applications à page unique), quels paramètres pour les paramètres de page à page côté client?
Pete Alvin


3

Notez que lorsque l'URL comporte à la fois des balises d'ancrage (#) et des chaînes de requête (?), Le navigateur peut ignorer la chaîne de requête et accéder à la balise d'ancrage sans recharger la page.

Il peut être nécessaire de soumettre la page à l'aide d'un

    <form action='webpage.php?q=string#tag' method='GET or POST'>
    <input type='text' id='q' name='q' value='string'>
    <input type='submit' value='submit'>
    </form> 

plutôt qu'un simple lien URL

    <a href='webpage.php?q=string#tag'>.

1

Si l'intention d'utiliser #est de désigner la page fragmentalors - oui ?alors #.

Si cela #vient avant ?et que ce n'est pas pour désigner la page fragment(cela peut arriver lorsque cela #fait partie de l'autorité (nom d'utilisateur et mot de passe)), il doit être encodé ou vous êtes en difficulté. La même chose s'applique à tous les autres caractères spéciaux ( :,, @...) qui pourraient donner une signification différente à url.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.