这个问题已经在这里有一个答案:
为什么$ _GET带来不同的结果,如果我相比不叫URL与锚?
例:
https://www.myurl.com/#anchor?param1=x¶m2=y
如果我读的GET参数,可以要求,$ _ SERVER [ 'QUERY_STRING'],parse_url($网址,PHP_URL_QUERY)都是空
但
https://www.myurl.com/?param1=x¶m2=y
一切正常。
任何人都可以解释我这个好吗?
锚走在最后,故名。 :)
https://www.myurl.com/?param1=x¶m2=y#anchor
浏览器就不会把它传递给服务器 - 基本上,网页URL(以下#号的部分)的hash部件仅由浏览器处理。这可悲的是HTML标准的一部分,是一样的你是否使用的是IE或其他浏览器(以及与此有关的PHP或任何其他服务器端技术)。