Lorsque la chaîne de requête et la balise d'ancrage (balise de hachage) sont visibles dans une URL, quel est le bon ordre pour qu'elles apparaissent?
http://www.whatever.com?var=val#anchor
ou
http://www.whatever.com#anchor?var=val
Y a-t-il une documentation à ce sujet?
pdate: Les URL sont gérées par Wordpress/PHP
?var=var#hash
tout après #
est le côté client.
En outre, examinez la réécriture d’URL pour vous débarrasser de la laideur ?var=var
? devrait précéder le # comme indiqué dans RFC 3986 :
relative-ref = relative-part [ "?" query ] [ "#" fragment ]
extrait d'une réponse auprès du superutilisateur ( https://superuser.com/questions/498617/does-an-anchor-tag-come-before-the-query-string-or-after ):
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 en utilisant 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'>.
Si l'intention d'utiliser #
est à noter page fragment
then - oui ?
puis #
.
Si #
arrive avant ?
et il ne faut pas dénoter la page fragment
(cela peut arriver quand #
fait partie de l’autorité (nom d’utilisateur et mot de passe)), il doit être codé ou vous avez des problèmes. Il en est de même pour les autres caractères spéciaux (:
, @
, ...) qui pourrait donner un sens différent à url.