Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Внутренний редирект с помощью PHP
Делаю по учебнику внутренний редирект, там сказано что адрес URI должен быть абсолютным, и он работает на CGI-версии php только. У меня денвер, сказали что там PHP установлен как CGI версия.
Еще сказано в учебнике что после его запуска from.php в браузерной строке так и останется, но у меня он меняется на to.php. Почему он меняется? Может у меня PHP установлен как модуль апаче, а тот кто сказал что как CGI был не прав. А так перенаправление происходит. Браузер - firefox на котором проверял.
Мелкий
Отправлено: 27 Марта, 2011 - 22:17:42
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
maximushka пишет:
Еще сказано в учебнике что после его запуска from.php в браузерной строке так и останется, но у меня он меняется на to.php.
И должен меняться, ведь вы просите браузер делать редирект.
----- PostgreSQL DBA
JustUserR
Отправлено: 28 Марта, 2011 - 00:39:51
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
maximushka пишет:
У меня денвер, сказали что там PHP установлен как CGI версия.
Еще сказано в учебнике что после его запуска from.php в браузерной строке так и останется, но у меня он меняется на to.php. Почему он меняется?
DKLAB пишет:
При работе с Apache, насколько я знаю, существует лишь один способ выполнить внутренний редирект: указать в заголовке Location не абсолютный URL, а URI (то есть, URL без имени хоста и порта). Отсюда автоматически следует, что внутренний редирект, в отличие от внешнего, может происходить только в пределах одного сайта:
Когда сервер получает от скрипта страницу и собирается отправить ее браузеру, он прежде всего проверяет: нет ли в ней заголовка Location с указанием URI документа. Если есть, то сервер порождает новый процесс — копию самого себя — и велит ей выполнить новый запрос, а о старом «забывает». Повторюсь: все это происходит без участия браузера, который видит лишь конечную страницу с тем же самым URL, который был у самого первого скрипта.
Использование указанного приложения предполагает возможность осуществления несопоставленного кеширования целевых ассоциированных URL-объектов, вследствие чего проведение определения результатов фунционирования модифицировнного web-приложения в данном браузере является невозможным; для осуществления диагностики предполагаемого вопроса, допустимо использование средств взаимодействия с целевым web-сервером, которые не могут обеспечивать некорректных операций по проведению кеширования, таких как средство telnet или браузер Internet explorer
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
maximushka
Отправлено: 28 Марта, 2011 - 15:57:58
Новичок
Покинул форум
Сообщений всего: 40
Дата рег-ции: Нояб. 2009
Помог: 0 раз(а)
Мелкий пишет:
И должен меняться, ведь вы просите браузер делать редирект.
А как сделать на пхп редирект скрытно от браузера?
В учебнике написано что этот способ делает так что браузер даже не догадается, а на деле получается иначе. JustUserR
Вот, вот по этому учебнику и читал, видите, там и написано
JustUserR пишет:
все это происходит без участия браузера, который видит лишь конечную страницу с тем же самым URL
А на деле получается обратное - не тот же самый URL ...from.php, а другой: to.php куда и перенаправили, почему он меняется, как сделать так чтобы не менялся? в этом и заключался вопрос.
ps. Как тут написать администрации чтобы исправили баг с этим форумом, дело в том что на php.su я иногда когда захожу в какой-то раздел форума сбрасывается моё имя, как будто у меня не сохранены куки, и приветствует меня как гостя, когда же я через быстрый вход авторизуюсь то меня перенаправляют на главную страницу.. и начинай сначала... И это на разных браузерах.
Мелкий
Отправлено: 28 Марта, 2011 - 16:19:24
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
maximushka пишет:
А как сделать на пхп редирект скрытно от браузера?
Выдать другую страницу. Тем же самым скриптом. Только зачем?
maximushka пишет:
ps. Как тут написать администрации чтобы исправили баг с этим форумом, дело в том что на php.su я иногда когда захожу в какой-то раздел форума сбрасывается моё имя, как будто у меня не сохранены куки, и приветствует меня как гостя, когда же я через быстрый вход авторизуюсь то меня перенаправляют на главную страницу.. и начинай сначала... И это на разных браузерах.
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
внутрений редирект делает веб сервер, php так вроде не умеет...
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
maximushka
Отправлено: 28 Марта, 2011 - 16:40:52
Новичок
Покинул форум
Сообщений всего: 40
Дата рег-ции: Нояб. 2009
Помог: 0 раз(а)
Мелкий пишет:
Только зачем
Ну хочется чтобы действовала эта функциональность, что в книге написана.
Есть и более веская причина есть - убедиться что у меня Php установлена как CGI версия, согласно книге это определяет будет ли работать способ выше или нет. Практика показала что нет, хотя ранее мне говорили что пхп в деневре установлен как CGI версия.
конечно можно и через .htaccess , но хочется и через пхп.
JustUserR
Отправлено: 29 Марта, 2011 - 21:36:03
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
maximushka пишет:
Вот, вот по этому учебнику и читал, видите, там и написано
В качестве основного аспекта для осуществления решения предполагаемой задачи, заключающейся в организации целевого внутреннего активного перенаправления относительно используемого текущего исполняемого функицонального объекта на web-сервере по оригинальном запрошенному значению URL-ресурса, необходимо обеспечение рассмотрения параметров производимого инициализируемого трансфера информационных полей в пониженном базовом уровне трактования относительнол CGI-интерфейса, с включением значения ВИРТУАЛЬНОГО целевого URL-пути для ассоциированного элемента на локальном web-сервере в форме Location: /path/to/object.ext
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
maximushka
Отправлено: 30 Марта, 2011 - 12:46:14
Новичок
Покинул форум
Сообщений всего: 40
Дата рег-ции: Нояб. 2009
Помог: 0 раз(а)
JustUserR пишет:
В качестве основного аспекта для осуществления решения предполагаемой задачи, заключающейся в организации целевого внутреннего активного перенаправления относительно используемого текущего исполняемого функицонального объекта на web-сервере по оригинальном запрошенному значению URL-ресурса, необходимо обеспечение рассмотрения параметров производимого инициализируемого трансфера информационных полей в пониженном базовом уровне трактования относительнол CGI-интерфейса, с включением значения ВИРТУАЛЬНОГО целевого URL-пути для ассоциированного элемента на локальном web-сервере в форме
Location: /path/to/object.ext
Ну вы и выражаетесь , наверное практикуете гипноз... там тоже есть такая методика запутывания мозгов, путём налития воды и добавления неизвестных словечек. Или почему, интересно?
Всё равно, спасибо, меня убедили делать через .htaccess и не парить себе этой темой мозги.
maximushka
Отправлено: 30 Марта, 2011 - 17:14:38
Новичок
Покинул форум
Сообщений всего: 40
Дата рег-ции: Нояб. 2009
Помог: 0 раз(а)
Оказывается тот человек ошибся - php установлен как модуль апатча у меня на денвере, это я копнул книгу в главе установки пхп как cgi и как модуль апачтча, и там была написана разница в установке:
в файле httpd.conf в /usr/local/apache/conf/ в случае модульной версии пхп есть незакомментированная строка начинающаяся на
LoadModule php5_module "/usr/local/php5/php5apache2_2.dll"
её я кстати в нём и увидел,
а в случае версии cgi:
Action application/x-httpd-php5 "/_php5/php-cgi.exe"
её я и не увидел.
инструкций же Include в httpd.conf я не увидел, значит другие файлы не подключаются, и если что-то есть или чего то нет видно лишь в httpd.conf.
Отсюда вывод что у меня установлен пхп как модуль апача.
JustUserR
Отправлено: 31 Марта, 2011 - 20:49:18
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
maximushka пишет:
Всё равно, спасибо, меня убедили делать через .htaccess и не парить себе этой темой мозги.
Пожалуйста! В действительности для осуществления решения предполагаемой задачи, допустимо использование определяемых программных действенных составляющих элементов PHP-приложения, обеспечение внедрения типа которых зависит от используемого метода ассоциирования текущей инстанции PHP-интерпретатора и web-сервера Apache
Подключение PHP-интерпретатора в виде модуля расшинения web-сервера Apache
Header("/local/object.ext")// Осуществление определения локального виртуального URL-адреса, без указания доменного имени web-сайта и используемого протокола
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.