Нужно разобрать странный URL (содержит / # /?) - PullRequest
3 голосов
/ 08 сентября 2011

Меня попросили работать с сервисом, который изменяет URL моих сайтов на: http:://example.com/#/?id=9

Кажется, я не могу получить идентификатор с такого URL. $_GET пусто, $_SERVER['REQUEST_URI'] содержит только /.

Как мне добраться до параметров?

Вещи, которые я пробовал:

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 ]

3 голосов
/ 08 сентября 2011

Вы не можете разобрать это с PHP, по той простой причине, что что касается URL, что-либо, кроме # (хеш), не является частью URL, эта часть должна быть проанализирована с помощью JavaScript или подобного язык клиента.

window.location.hash

Вернет все, что осталось за хешем (включая символ #)


Короче говоря: невозможно на сервере, пойти с клиентом. (возможно опубликовать ajax-вызов на сервере с GET-данными)

1 голос
/ 08 сентября 2011

Все, что включает и следует #, отвечает интересам браузера только .

Сервер его даже не видит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...