PHP: Come posso get l'URL che è stato riscritto con mod_rewrite?

Ad esempio, se riscrivo /category/topic/post/ to /index.php?cat=1&topic=2&post=3 , come posso get /index.php?cat=1&topic=2&post=3 utilizzando PHP?

Puoi ricrearlo abbastanza facilmente. $_SERVER['PHP_SELF'] ti darà comunque il nome file corretto per lo script. Questo dovrebbe fare il trucco:

 $url = $_SERVER['PHP_SELF']; $parts = arrays(); foreach( $_GET as $k=>$v ) { $parts[] = "$k=" . urlencode($v); } $url .= "?" . implode("&", $parts); 

$url ora sarà l'URL che stai cercando.

EDIT: la risposta di @ carpereret è di gran lunga migliore. Invece, preferiscilo

l'uri originale dovrebbe essere in $_SERVER['REQUEST_URI']