4

我有一个通过这样的 URL 访问的页面:

http://power-coder.net/Test/something.php?id=3#Page1

我知道如何使用 $_GET 访问 id 参数,但是有没有办法让我访问 #Page1 部分​​?我查看了 $_SERVER 数组,REQUEST_URI 以 ?id=3 结尾。

我知道我也可以将#Page1 更改为像&Page=1 这样的附加参数,但是有相当多的代码使用旧的URL 类型,我希望尽可能避免重写。

谢谢您的帮助。

4

3 回答 3

6

不,没有办法。片段部分(# 后的标签)不传输到服务器。

浏览器检索文档http://power-coder.net/Test/something.php?id=3然后转到文档中正确的锚点(如果有的话)。

于 2009-01-27T16:37:23.837 回答
3

规范中的相关文本:

4.1。片段标识符

当使用 URI 引用对已识别的资源执行检索操作时,可选的片段标识符(由交叉线(“#”)字符与 URI 分隔)包含在检索后由用户代理解释的附加参考信息动作已成功完成。因此,它不是 URI 的一部分,但通常与 URI 结合使用。

于 2009-01-27T16:59:34.977 回答
0

以防有人仍在寻找解决方案。

只需在锚标记前加上“&”:

http://example.com/Test/something.php?id=3&#Page1

在 Chrome、Firefox、Safari 和 IE11 上测试

于 2014-12-05T03:06:42.063 回答