Можно ли получить доступ к якорям в строке запроса через PHP? - PullRequest
4 голосов
/ 27 января 2009

У меня есть страница, доступ к которой осуществляется через URL-адрес, подобный следующему:

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

Я знаю, как получить доступ к параметру id с помощью $ _GET, но есть ли способ получить доступ к части # Page1? Я посмотрел на массив $ _SERVER, а REQUEST_URI заканчивается на? Id = 3.

Я знаю, что я также мог бы изменить # Page1 на дополнительный параметр, такой как & Page = 1, однако есть немало кода, использующего старый тип URL, который я хотел бы избежать переписывания, если это вообще возможно.

Спасибо за помощь.

Ответы [ 3 ]

6 голосов
/ 27 января 2009

Нет, пути нет. Часть фрагмента (метка после #) не передается на сервер.

Браузер получает документ http://power -coder.net / Test /thing.php? Id = 3 , а затем переходит к правильной привязке (если есть) в документе.

3 голосов
/ 27 января 2009

Соответствующий текст из спецификации :

4,1. Идентификатор фрагмента

Когда ссылка URI используется для выполнения действия поиска на идентифицированный ресурс, необязательный идентификатор фрагмента, отделенный от URI символом перекрестной штриховки ("#"), состоит из дополнительных справочная информация, которая будет интерпретирована пользовательским агентом после Операция поиска была успешно завершена. Как таковой, это не часть URI, но часто используется вместе с URI.

0 голосов
/ 05 декабря 2014

На случай, если кто-то все еще ищет решение.

Просто поставьте '&' перед тегом привязки:

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

Протестировано на Chrome, Firefox, Safari и IE11

...