ПРОЕКТЫ 


  АРХИВ 


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: [apache-talk] AccelNoPass




On Thu, 27 Mar 2003, Aleksandr Kulikov wrote:

> >>Случайно выяснилось, что при наличии в конфиге апача следующих строк
> >>
> >>===
> >>Alias /pictures /var/www/communiware/pictures
> >><Location /var/www/communiware/pictures>
> >>   <IfModule mod_charset.c>
> >>       CharsetDisable On
> >>   </IfModule>
> >>   SetHandler default-handler
> >>   Options -Indexes
> >></Location>
> >><VirtualHost www.ru:80>
> >>   ServerName www.ru
> >>   RewriteEngine on
> >>   AccelPass / http://localhost:8888/ [PH]
> >>   RewriteOptions  inherit
> >>   RewriteRule ^/pictures/([^/]/.*) /var/www/communiware/pictures/$1 [L]
> >>   RewriteRule ^/pictures/([^/][^/])(.*) 
> >>/var/www/communiware/pictures/$1/$1$2 [L]
> >>   AccelNoPass /pictures/ /~ /cgi-bin
> >>   RewriteRule ^/cgi-bin/(.*) /var/www/communiware/cgi-bin/$1 [L]
> >>   RewriteRule ^/([^~].*) http://localhost:8888/$1 [P]
> >>   RewriteRule ^/$ http://localhost:8888/ [P]
> >></VirtualHost>
> >>запросы www.ru/pictures на бэкенд пробрасываются... это так и должно 
> >>быть - ?
> >>Gor
> >>P.S. Server: Apache/1.3.26 (Unix) mod_accel/1.0.24
> > 
> > 
> > /pictures или /pictures/ ? Это разные вещи для данной конфигурации.
> 
> /pictures/
> ... к счастью все решается локальным .htaccess - но это явный 
> workaround...  - вопрос про проброс все еще в силе...

Да, у меня в тестах /pictures/ и /pictures/aaa уходит на бэкенд, а,
скажем, /pictures/aaa/ и /pictures/aaa/a убрабатываются локально.

Мешанина AccelPass и RewriteRule [P] ни к чему хорошему не приводит.
В данном случае дело в 'RewriteRule ^/([^~].*) http://localhost:8888/$1 [P]'.

Если mod_accel работает первым, то он игнорирует /pictures/ в фазе трансляции.
Потом mod_rewrite для /pictures/ ставит обработчик accel-handler.

Если же mod_rewrite работает первым, то он сразу ставит обработчик
accel-handler и до фазы трансляции mod_accel'а не дело не доходит.

В обоих случаях запросы уходят на бэкенд.

Решения следующие:
1) усугубить винегрет и добавить 'RewriteRule  ^/pictures/([^/].*) ...';
2) убрать все RewriteRule [P] - они лишние.


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



 




Copyright © Lexa Software, 1996-2009.