需要解析奇怪的URL(包含/#/?)

时间:2011-09-08 15:28:02

标签: php url

我被要求使用将我的网站网址更改为http:://example.com/#/?id=9

的服务

我似乎无法从此类网址获取ID。 $_GET为空,$_SERVER['REQUEST_URI']仅包含/

我该如何到达params?

我尝试过的事情:

Zend_Debug::dump($_GET); // outputs array(0)
echo $_SERVER['REQUEST_URI']; // outputs /
Zend_Debug::dump(parse_url($_SERVER['REQUEST_URI'])); // outputs array(["path"] => string(1) "/")

我正在使用Zend Framework,但我怀疑它与它有关。

提前致谢。

2 个答案:

答案 0 :(得分:3)

你不能用PHP解析它,原因很简单,就URL而言,除了#(哈希)之外的任何东西都不是URL的一部分,那部分必须用JavaScript解析或者类似的客户端语言。

window.location.hash

将通过哈希(包括#字符)

返回所有内容

简而言之:在服务器中不可能,请与客户端一起使用。 (也许可以使用GET数据向服务器发送ajax调用)

答案 1 :(得分:1)

#之后的所有内容仅适用于浏览器的兴趣

服务器甚至从未见过它。