Как получить фактический URL-адрес запроса в Apache / PHP, если он не существует, и пользователь перенаправляется на страницу ошибок 404?

Я хочу получить фактический URL-адрес запроса, сделанного клиентом, как мне это сделать? Я имею в виду, если кто-то запрашивает страницу, которая не существует, например http://localhost/invalid.php , и я установил 404 пользовательский файл ошибок на http://localhost/test.php , то как мне узнать каков был фактический URL-адрес, запрошенный пользователем.

Я пробовал это в IIS7. Я установил страницу пользовательской ошибки в /test.php, и всякий раз, когда пользователь запрашивает URL-адрес, который не существует, я все равно могу получить доступ к этому URL-адресу с помощью $ _SERVER ['REQUEST_URI'] в /test.php, а URL-адрес в браузерах по-прежнему остается такой же.

Но у меня проблема с тем же успехом в Apache. Я установил страницу пользовательской ошибки в /test.php, но когда пользователь запрашивает страницу, которая не существует, пользователь перенаправляется на /test.php, и я не могу получить доступ к фактическому URL, который запросил пользователь. Я пробовал этот print_r($_SERVER) но не нашел фактический URL-адрес запроса где-нибудь в массиве $_SERVER .