我有一个通过这样的 URL 访问的页面:
http://power-coder.net/Test/something.php?id=3#Page1
我知道如何使用 $_GET 访问 id 参数,但是有没有办法让我访问 #Page1 部分?我查看了 $_SERVER 数组,REQUEST_URI 以 ?id=3 结尾。
我知道我也可以将#Page1 更改为像&Page=1 这样的附加参数,但是有相当多的代码使用旧的URL 类型,我希望尽可能避免重写。
谢谢您的帮助。
我有一个通过这样的 URL 访问的页面:
http://power-coder.net/Test/something.php?id=3#Page1
我知道如何使用 $_GET 访问 id 参数,但是有没有办法让我访问 #Page1 部分?我查看了 $_SERVER 数组,REQUEST_URI 以 ?id=3 结尾。
我知道我也可以将#Page1 更改为像&Page=1 这样的附加参数,但是有相当多的代码使用旧的URL 类型,我希望尽可能避免重写。
谢谢您的帮助。
不,没有办法。片段部分(# 后的标签)不传输到服务器。
浏览器检索文档http://power-coder.net/Test/something.php?id=3然后转到文档中正确的锚点(如果有的话)。
规范中的相关文本:
4.1。片段标识符
当使用 URI 引用对已识别的资源执行检索操作时,可选的片段标识符(由交叉线(“#”)字符与 URI 分隔)包含在检索后由用户代理解释的附加参考信息动作已成功完成。因此,它不是 URI 的一部分,但通常与 URI 结合使用。
以防有人仍在寻找解决方案。
只需在锚标记前加上“&”:
http://example.com/Test/something.php?id=3&#Page1
在 Chrome、Firefox、Safari 和 IE11 上测试