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