2016-12-14 64 views
0

请求路径:http:// 本地主机/ 1/2 /#实施例/

print_r($_SERVER['REQUEST_URI']); 

预期:/1/2 /实施例#/

实际:/ 1/2/

使用urldecode没有任何影响,因为PHP是创建阵列开始。是的,这不是一个正统的目录名称,但有没有另一种方式来确定在PHP中请求的URI?

+0

如果这是一个名为'#Example'的实际文件夹,那么你需要在链接到这个页面的时候对这个散列进行urlencode编码,这样url就变成'/ 1/2 /%23 Example /'。 URL哈希(#whatever)永远不会发送到PHP。它在JavaScript中可用于客户端。 –

+0

请参阅https://tools.ietf.org/html/rfc3986#section-3.5“...片段标识符未用于处理URI的特定方案 中;相反,在取消引用之前,片段标识符与URI的其余部分分开 ,因此片段本身内的标识信息仅由用户代理程序取消引用 ,而不考虑URI方案。“它永远不会发送到服务器 – Reeno

回答

0

#帕尔马不发送到服务器!

+0

请您详细说明一下吗? – John

+1

啊,对......我忘记了...... PHP忽略它。我完全忘记了这一点。 – John

+0

@John为了记录,PHP不会“忽略它”。它被浏览器删除,甚至从未被发送到PHP。 –