如何在#之后获取url值

时间:2014-02-08 07:38:29

标签: php session url

我在我的网站上使用PHP。我想获取类似test/show.php?ID=247#about的网址值。

当我使用会话变量

<?php

 session_start();
 $url = $_SERVER['REQUEST_URI'];

echo $url;

?>

仅打印test/show.php?ID=247

我没有得到#about。这个#about我想用来重定向我的主页面菜单。

任何人都可以告诉我如何获得它。

谢谢。

2 个答案:

答案 0 :(得分:2)

您不能 - 没有自定义客户端支持 1

"hash" (or Fragment Identifier) 未正常发送到服务器。

  

片段标识符的功能与URI的其余部分不同:即其处理完全是客户端的,没有Web服务器的参与 ..当代理(例如Web浏览器)时代理从Web服务器请求Web资源,代理将URI发送到服务器,但不发送片段。相反,代理等待服务器发送资源,然后代理根据文档类型和片段值处理资源。


1 例如,您可以在submit形式的事件中使用JavaScript钩子,根据需要从window.location.hash读取,并将值推送到窗体的控件中然而,由于以下几个原因,应该重新考虑(或者更确切地说,避免)一般设计:

  1. 哈希更改通常用于客户端状态管理和“AJAX”导航。
  2. 增加了复杂性,以及意外/浏览器颠覆行为。
  3. 它不适用于“普通”链接或导航后第一页加载。

答案 1 :(得分:1)

您无法在PHP中访问tis part(哈希),您可以使用JavaScript

访问它
<script type="text/javascript">
    alert(document.location.hash)
</script>