Forum Webscript.Ru

Программирование => Perl => Тема начата: C++ от 22 Апреля 2003, 08:45:38

Название: Как сделать редирект с сохранением HTTP_REFERER?
Отправлено: C++ от 22 Апреля 2003, 08:45:38
Всем привет.
когда я делаю просто редирект, то вывожу:
print "location: [url]http://domain.com/index.cgi?[/url]$ENV{QUERY_STRING}\\n\\n";
а как сделать так, чтобы в http://domain.com/index.cgi HTTP_REFERER был таким же как на скрипте, который редиректит?
Название: Как сделать редирект с сохранением HTTP_REFERER?
Отправлено: NeoNox от 22 Апреля 2003, 11:04:21
C++ никак, это переменные окружения - они "отдаются" сервером.
Название: Как сделать редирект с сохранением HTTP_REFERER?
Отправлено: Phoinix от 22 Апреля 2003, 15:59:08
Если тебе просто нужно передать значение HTTP_REFERER, то может просто во время редиректа задавать дополнительный параметр?

...domain.com/index.cgi?old_HTTP_REFERER=$ENV{HTTP_REFERER}\\&$ENV{QUERY_STRING}\\n\\n";
Название: Как сделать редирект с сохранением HTTP_REFERER?
Отправлено: C++ от 22 Апреля 2003, 16:53:18
Да нет, там все проще, реферер и так сохраняется таким, с которого пришли на скрипт с редиректом
Название: Как сделать редирект с сохранением HTTP_REFERER?
Отправлено: NCRangeR от 24 Апреля 2003, 05:31:28
C++
по-моему, Phoinix прав. Пишешь в HTTP-ответе
print "location: script.cgi\\nx-old-referer: $ENV{\'HTTP_REFERER\'}\\n\\n";
и во втором скрипте проверяешь не было ли передано это значение (x-old-location)..

а то что ты хочешь - это надо в настройках сервера что-то менять (или даже исходники переписывать :()