Test simple, accès http://localhost:8000/hello?foo=bar#this-is-not-sent-to-server
python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"
Serving HTTP on 0.0.0.0 port 8000 ...
localhost - - [02/Jun/2009 12:48:47] code 404, message File not found
localhost - - [02/Jun/2009 12:48:47] "GET /hello?foo=bar HTTP/1.1" 404 -
Le serveur reçoit la demande sans le #appendage - tout ce qui suit la balise dièse est simplement une recherche d'ancre sur le client.
Vous pouvez trouver le nom de l'ancre utilisé dans l'URL par le biais de javascript en utilisant, par exemple :
<script>alert(window.location.hash);</script>
La fonction parse_url() en PHP peut fonctionner si vous avez déjà la chaîne d'URL nécessaire, y compris le fragment ( http://codepad.org/BDqjtXix ) :
<?
echo parse_url("http://foo?bar#fizzbuzz",PHP_URL_FRAGMENT);
?>
Output: fizzbuzz
Mais je ne pense pas que PHP reçoive les informations sur les fragments, car il n'est que client.