Forum Webscript.Ru
Программирование => PHP => Тема начата: Artemka от 30 Октября 2003, 17:52:47
-
Пользователь в строке браузера набрал неправильный адрес, ему выдается страничка (PHP) в которой пишется что адрес набран неверно (это настраивается в .htpaccess), а вот и вопрос:
Как этой страничке узнать на какую страничку пытался попасть пользователь и с которой его выкинули?
Строка
print getenv("HTTP_REFERER");
не помогает, так как она позывает с какой странички пришел пользователь добровольно, а вот с какой его перередиректили не показывает :(
-
на этот, и другие вопросы дает ответ команда phpinfo()
-
Пробовал, это первое что я попробовал!
Но в том тексте что выдает та функция нет и упоминания о страничке с которой редиректили :(
-
Значит - никак.
phpinfo показывает все доступные скрипту переменные.
Хотя остается вариант, что ты невнимательно смотрел.
-
Заметь, что ни о каком редиректе тут речь не идет.
Ты все время употребляешь это слово, а оно не к месту.
-
Переменная окружения REDIRECT_REDIRECT_ERROR_NOTES выдает то что нужно, да еще и комментирует. REQUEST_URI , опять же есть. Это если я правильно понял вопрос и нужно узнать, что хотел поиметь юзер от сервера.
-
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 а именно отображал его оставляя в строке браузера старый адрес? При этом замена стандартного сообщения в апаче не подходит, иначе он для всех сайтов будет выдавать его, а мне надо только чтобы для одного конкретного сайта...
-
есть мнение, что не стоит писать полный адрес, а ограничиться локальным.
-
Пробовал и вот так:
ErrorDocument 404 missing.phtml
Пробовал даже указать польный путь к этому файлу по файловой системе от корневой папки... Ничего не помогло, а даже наоборот перестал идти редирект, даже апач не выдает стандартной ошибки, а тоько сам IE выписывает свое стандратное сообщение "не найдено".
-
не то и не другое.
ErrorDocument 404 /missing.phtml если лежит в корне.
а апач у тебя вообще как модуль?
-
Большое спасибо! Все супер! :)