Нет, дело не в том, что он не анализируется сервером, проблема в том, что он никогда не отправляется на сервер. Все, что после #
, является локальным якорем и доступно только в текущем контексте браузера (поэтому Javascript сможет прочитать его, так как он работает в текущем контексте браузера).
Поскольку он никогда не отправляется на сервер, его нельзя переписать или прочитать (поскольку он не существует) на стороне сервера.
Что вы можете сделать, это создать небольшой кусочек Javascript на получившейся странице в script.php
, а затем отправить его обратно на сторону сервера - либо через редирект, либо через fetch или xmlhttprequest .
Чтобы воссоздать запрос как запрос GET с теми же параметрами, которые указаны в локальной привязке, вы можете использовать location.hash
и удалить #
:
location.href = 'realscript.php?' + location.hash.substring(1);
.. но я бы подумал о том, чтобы проанализировать хеш самостоятельно, а затем явно делать все, что необходимо в Javascript, вместо того, чтобы так перенаправлять.