如果我调用带有锚点的URL而不是调用锚点,为什么$ _GET会传递不同的结果?
示例:
https://www.myurl.com/#anchor?param1=x¶m2=y
如果我阅读GET参数,请求,$ _ SERVER ['QUERY_STRING'],parse_url($ url,PHP_URL_QUERY) 都是空的
但使用
https://www.myurl.com/?param1=x¶m2=y
一切正常。
有人可以向我解释一下吗?
答案 0 :(得分:2)
基本上,页面URL的散列部分(#符号后面的部分)仅由浏览器处理-浏览器从不将其传递给服务器。可悲的是,这是HTML标准的一部分,并且无论您使用的是IE还是任何其他浏览器(以及与此相关的PHP或任何其他服务器端技术)都是相同的。
答案 1 :(得分:1)
锚定在末尾,因此得名。 :)
https://www.myurl.com/?param1=x¶m2=y#anchor