Можно ли получить доступ к якорям в строке запроса через PHP?
-
20-08-2019 - |
Вопрос
У меня есть страница, доступ к которой осуществляется через URL, подобный этому:
http://power-coder.net/Test/something.php?id=3#Page1
Я знаю, как получить доступ к параметру id с помощью $ _GET , однако есть ли у меня способ получить доступ к части #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