ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re[2]: [apache-talk] PerlFixupHandler



On Mon, 9 Feb 2004, Oleg Konstantinov wrote:

> >> > У меня два вопросика:
> >> > 1. Правильный хандлер я выбрал для установки Last-Modified и иже с
> >> > ним для SSI?
> >> 
> >> Нет, слишком рано.
> 
> IS> Похоже, mod_include сам не сбрасывает этот заголовок, так что можно
> IS> попробовать. Если, конечно, используется Apache 1.3.x.
> 
> Угу, спасибо, вопрос был теоретический, оно работает. А на каком
> хандлере по уму нужно делать? На PerlResponseHandler? А последующие
> хандлеры вызываются когда ответ уже отдан клиенту и заголовки выдавать
> поздно? А вообще получается имхо логично, если апач захочет
> переписать, то он перепишет... наверно. Например, при использовании
> xbithack.

Response в данном случае ничем не отличается ои fixup. Если обработчик
сам обрабатывает repsonse, то остальные возможные response обработички
не получат управление.

> >> > 2. Когда идет обращение к урл типа http://www.site.com/ , хандлер
> >> > вызывается три раза - первый раз $r->uri() = http://www.site.com/;
> >> > потом идет два вызова с $r->uri() = http://www.site.com/index.html,
> >> > причем для первого вызова не устанавлен $r->args().
> >> > Собственно вопрос: почему два вызова? И как из скрипта определить
> >> > "неправильный"(без $r->args()) вызов?
> >> 
> >> Потому что используется внутренний редирект.
> 
> IS> Можно игнорировать запросы, оканчивающиеся слэшом.
> 
> Я наверное невнятно написал. Хандлер при обработке запроса вызывается
> ТРИ раза, с первым все понятно, происходит редирект, но потом хандлер
> вызывается еще два раза, оба раза с $r->uri() = http://www.site.com/index.html
> но в первый вызов не попадает $r->args(). Последний вызов нормальный.
> 
> Вопрос вобщем-то тоже теоретический, я просто оба раза выставляю
> хидеры. Некузяво как-то...

Такое может быть, если используется mod_rewrite. Ну или какой-нибудь
перловый модуль делает сабреквест.


Игорь Сысоев
http://sysoev.ru


 




Copyright © Lexa Software, 1996-2009.