比方说,当前的URL是www.example.com/example.php?var=test#1
$_SERVER['QUERY_STRING'];
应该返回
VAR =测试#1
,但它只是返回
测试
它发生的每一个“#”符号插入到URL的时间。
我该如何解决?我真的需要得到当前的查询字符串,但我不能使用$ _GET(请不要问为什么它真的太长时间来解释)。 我也无法控制网址,我无法控制网址字符串或在它到达我的服务器之前进行编码。
编辑:同样的问题与$ _SERVER ['REQUEST_URI'];
'#'磅符号后的所有内容都是片段标识符,并且始终保留在客户端。它从来不是HTTP请求路径的一部分。 – mario
它应该返回'var = test'。 (包括'#')之后的部分被称为哈希,并且不会发送到服务器。所以你将永远无法从'$ _SERVER ['QUERY_STRING']'访问它。 –
我在这里没有看到这种行为..有没有任何服务器重定向? – msturdy