使用查询字符串和锚点标签正确形成URL


114

当查询字符串和定位标记(哈希标记)在URL中都可见时,显示它们的正确顺序是什么?

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

要么

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

是否有任何文档?

更新: URL由Wordpress / PHP处理

Answers:


148
?var=var#hash

之后的一切#都是客户端。

另外,研究网址重写以摆脱丑陋的局面 ?var=var


26
查询字符串很丑陋,但是它有它的目的并且更灵活
Morio

7
使用查询字符串有什么问题?由于某种原因,它们是HTTP标准的一部分
Julio Bastida '18

是的,但是对于SPA(单页应用程序),客户端页面对页面参数使用哪些参数?
皮特·阿尔文,


3

请注意,当URL同时具有锚标记(#)和查询字符串(?)时,浏览器可能会忽略查询字符串并导航到锚标记,而无需重新加载页面。

可能有必要使用

    <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> 

而不只是URL链接

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

1

如果使用的用意#是表示fragment,然后 -是的?然后#

如果#在此之前?而不是要表示页面fragment(当#属于权限(用户名和密码)的一部分时可能发生),则必须对其进行编码,否则您将遇到麻烦。这同样适用于可能给url赋予不同含义的任何其他特殊字符(:,,@...)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.