定位标记是在查询字符串之前还是之后?


52

我不清楚锚标记应在查询字符串之前还是之后。

http://www.domain.com/search?query=hello#name

要么

http://www.domain.com/search#name?query=hello

还是有关系吗?


1
测试一下。它们中只有一个起作用,因此确实很重要。当我第一次尝试锚定时,它会认为?是“#”片段的一部分,因此不会跳到正确的锚点(因为没有一个在其名称中带有?的锚点...),并且如果我检查了查询字符串,可能不会包含任何信息在PHP中。我还没有测试过的最后一个。
Julix

Answers:


62

最佳做法是在末尾附加命名的锚点。技术名称是片段标识符,语法在RFC 3986中。

RFC部分在这里:http : //tools.ietf.org/html/rfc3986#section-4.1

relative-ref =相对部分[“?” 查询] [“#”片段]

维基百科实际上涵盖了它:

井号#引入的片段标识符是文档URL的可选最后一部分


欢呼@iivel! 当我与某人辩论时,第3节对我更有用(第4.1节似乎特定于相对URI)。
eebbesen

那么网络服务器,在投放页面期间需要处理它吗?
Behrouz.M,2016年

1
@raypixar URL片段未发送到服务器
Juan Mendes
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.