In-Reply-To: <36C3C023@lexa.ru> from Alex Tutubalin at "Feb 12, 99 00:46:11 am"
> alr> К сожалению вы меня не правильно поняли, да у меня
> alr> '(internal) redirect к _одному_ URL', но снаружи как раз то что делает
> alr> AutoRedirect - каждой кодировке свой URL.
> Угу. Hо вот все скpипты (SSI, модули) будут "видеть" этот один URL. И если они
> вдpуг генеpиpуют ссылки на себя (или соседей), то сделают их непpавильно.
SSI & CGI - точно будут видеть unparsed_uri, так как REQUEST_URI идет
с dirpref, можно проверить mod_perl, но я думаю что для совместимости
с CGI там так же, кроме того REQUEST_URI устанавливается в main/util_script.c,
а значит все видят его.
>
> alr> char *unparsed_uri; /* the uri without any parsing performed
> alr> Вы используете uri, а более правильно (на мой взгляд) было бы
> alr> использование unparsed_uri
> ...
> alr> то AutoRedirect уже заработал, но я думаю что необходимо заметить
> alr> и в других местах, так как кодировка клиента всегда должна определятся
> alr> по unparsed_uri.
> Я давно думал на эту тему в отношении Russian Apache "вообще". И мне кажется,
> что пpав я, а не вы. Ведь если был url rewriting (или internal redirects),
> значит у хозяина сайта были пpичины менять URL на какой-то еще. Почему для RA
> должны пpименяться дpугие пpавила ?
Как раз наоборот, если internal redirects прошел, какого черта, прошу
прощение за оборот, нужно отдавать внутренние кишки наружу!!!!
Более того, нет никакой гарантии что новый url будет доступен с внешнего
запроса!!! Он ДОЛЖЕН еще раз пройти через url rewriting.
Первый пример пришедший в голову:
RewriteRule ^/xxx/(.*) /yyy/$1 [PT,E=ZZZ:5,L]
и далее в <IfEnv >, или же в CGI, или же в SSI эта переменная используется.
Убедил?
Я тут решил поискать еще примеры и наткнулся на
http://www.engelschall.com/pw/apache/rewriteguide
где долеко не все примеры будут работать коректна с нынешним AutoRedirect
> Hаиболее вопиющий пpимеp - что делать, если url rewriting завел нас на URL
> для котоpого CharsetDisable On ?
Вообще не выдавать AutoRedirect.
> Что же касается AutoRedirect, то изначально я (для пpостоты) хотел использовать
> именно unparsed_uri. Остановили меня во-пеpвых сообpажения пpо internal
> redirect, а во-втоpых лень - не хотелось обpабатывать uri вида /%7euser/
лень двигатель прогресса? -)))
Начал возится cgi (printenv) и обнаружил баг: в запросе вида
http://www:8880/cgi-bin/printenv делается редирект на
http://www/rus/cgi-bin/printenv2 - то есть теряется порт (основной
и единственный). CharsetByPort не установлен.
Проверил и на НЕ исправленном http.
--
С наилучшими пожеланиями, Евгений Бырганов.
Best regards, Eugene Byrganov.
mailto:E.B.Byrganov@inp.nsk.su
work - http://www.inp.nsk.su/
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.