Forum Webscript.Ru

Программирование => PHP => Тема начата: Artemka от 30 Октября 2003, 17:52:47

Название: Как узнать на какую страничку пытались попасть?
Отправлено: Artemka от 30 Октября 2003, 17:52:47
Пользователь в строке браузера набрал неправильный адрес, ему выдается страничка (PHP) в которой пишется что адрес набран неверно (это настраивается в .htpaccess), а вот и вопрос:
Как этой страничке узнать на какую страничку пытался попасть пользователь и с которой его выкинули?

Строка
print getenv("HTTP_REFERER");
не помогает, так как она позывает с какой странички пришел пользователь добровольно, а вот с какой его перередиректили не показывает :(
Название: Как узнать на какую страничку пытались попасть?
Отправлено: Меняздесьдавнонет от 30 Октября 2003, 18:07:07
на этот, и другие вопросы дает ответ команда phpinfo()
Название: Как узнать на какую страничку пытались попасть?
Отправлено: Artemka от 30 Октября 2003, 18:12:42
Пробовал, это первое что я попробовал!
Но в том тексте что выдает та функция нет и упоминания о страничке с которой редиректили :(
Название: Как узнать на какую страничку пытались попасть?
Отправлено: Меняздесьдавнонет от 30 Октября 2003, 18:14:50
Значит - никак.
phpinfo показывает все доступные скрипту переменные.
Хотя остается вариант, что ты невнимательно смотрел.
Название: Как узнать на какую страничку пытались попасть?
Отправлено: Меняздесьдавнонет от 30 Октября 2003, 18:15:52
Заметь, что ни о каком редиректе тут речь не идет.
Ты все время употребляешь это слово, а оно не к месту.
Название: Как узнать на какую страничку пытались попасть?
Отправлено: Mog. от 31 Октября 2003, 08:16:22
Переменная окружения  REDIRECT_REDIRECT_ERROR_NOTES выдает то что нужно, да еще и комментирует. REQUEST_URI , опять же есть. Это если я правильно понял вопрос и нужно узнать, что хотел поиметь юзер от сервера.
Название: Как узнать на какую страничку пытались попасть?
Отправлено: Artemka от 31 Октября 2003, 10:51:47
RomikChef
Я говорю про редирект именно потому что он и происходит.
Попытаюсь объяснить:
Если ты запрашиваешь несуществующую страничку, то апач выдает стандартную ошибку 404 и выдает на экран стандартное сообщение, при этом адрес в строке браузера остается тот что набрал пользователь - т.е. не существующий.
А вот если мы в каталог положим файл .htaccess и напишем в нем следующее:
ErrorDocument 404 http://www.artemka.ru/missing.phtml
То тогда как только пользователь наберет НЕПРАВЛИЛЬНЫЙ адрес (вот сам попробуй набрать например http://www.artemka.ru/NOFILE), то апач не просто выдает документ missing.phtml - он на него именно РЕДИРЕКТИТ! Т.е. в адресной строке будет стоять не тот адрес который набрал пользователь, а будет стоять именно missing.phtml. Вот попробуй зайти на ту страничку и ты увидешь что произойдет именно редирект. Соответственно мне надо сделать так чтобы страничка missing.phtml узнала с какого несуществующего адреса апач на нее редиректил.

Mog.
REQUEST_URI - показывает название текущего скрипта, а я и без него знаю что это missing.phtml :))))

Можно ли как нибудь тогда сделать так чтобы апач не редиректил на missing.phtml а именно отображал его оставляя в строке браузера старый адрес? При этом замена стандартного сообщения в апаче не подходит, иначе он для всех сайтов будет выдавать его, а мне надо только чтобы для одного конкретного сайта...
Название: Как узнать на какую страничку пытались попасть?
Отправлено: Меняздесьдавнонет от 31 Октября 2003, 11:03:53
есть мнение, что не стоит писать полный адрес, а ограничиться локальным.
Название: Как узнать на какую страничку пытались попасть?
Отправлено: Artemka от 31 Октября 2003, 11:19:03
Пробовал и вот так:
ErrorDocument 404 missing.phtml
Пробовал даже указать польный путь к этому файлу по файловой системе от корневой папки... Ничего не помогло, а даже наоборот перестал идти редирект, даже апач не выдает стандартной ошибки, а тоько сам IE выписывает свое стандратное сообщение "не найдено".
Название: Как узнать на какую страничку пытались попасть?
Отправлено: Меняздесьдавнонет от 31 Октября 2003, 12:02:15
не то и не другое.
ErrorDocument 404 /missing.phtml если лежит в корне.
а апач у тебя вообще как модуль?
Название: Как узнать на какую страничку пытались попасть?
Отправлено: Artemka от 31 Октября 2003, 12:18:58
Большое спасибо! Все супер! :)