Использование mod_rewrite RewriteRule для передачи реферера в строку запроса - PullRequest
0 голосов
/ 28 ноября 2011

Я пытаюсь перехватить URL-адрес или полную ссылку html, т. Е. «(Http.bbserver.edu/john_doe/quiz.doc)» и отправить его в сценарий php.

У меня естьон немного работает со следующими

REWRITERULE ([^/]+)/([^/]+)$ login.php?referer=%{HTTP_REFERER}&path=$0&folder=$1&file=$2 [NC,L]

Но файл php распечатывает это

Referer:
path: John_Doe/quiz.doc
folder: John_Doe/quiz.doc
file: quiz.doc

, если я пытаюсь это сделать, пытаясь получить все и отправить его в скрипт php.

REWRITERULE ^(.+)$ login.php?referer=%{HTTP_REFERER}&path=$0&folder=$1&file=$2 [NC,L]

Но файл php распечатывает это.

Referer:
path: login.php
folder: login.php
file:

Я хотел бы захватить «HTTP_REFERER» и проанализировать подпапки и файл через php.Но я не получаю нужную мне информацию.

1 Ответ

0 голосов
/ 28 ноября 2011

Вы уверены, что установлен HTTP_REFERER? Часто это не будет, если вы находитесь за HTTP-прокси. Попробуйте напечатать значение $_SERVER['HTTP_REFERER'], которое также должно содержать значение реферера HTTP, если оно установлено.

Если вы находитесь за прокси-сервером и вам нужен реферер, вы можете использовать mod_rpaf и получить реферера из HTTP_X_FORWARDED_FOR.

...