Например, если я переписываю /category/topic/post/
to /index.php?cat=1&topic=2&post=3
, как я могу получить /index.php?cat=1&topic=2&post=3
с помощью PHP?
Вы можете легко воссоздать его. $_SERVER['PHP_SELF']
все равно даст вам правильное имя файла для скрипта. Это должно сделать трюк:
$url = $_SERVER['PHP_SELF']; $parts = array(); foreach( $_GET as $k=>$v ) { $parts[] = "$k=" . urlencode($v); } $url .= "?" . implode("&", $parts);
$url
теперь будет URL, который вы ищете.
РЕДАКТИРОВАТЬ: ответ @ carpereret намного лучше. Направьте его вместо этого
исходный uri должен быть в $_SERVER['REQUEST_URI']