Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

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

Re: [apache-rus] Russian Apache 1.3.4 PL28.0 avaliable



> > > Во-во. Для всех внутpенних pазбоpок (настpойки, mime types) мы должны 
> > > использовать rewrited url, а для выдачи внешних - original ? Если и так, то это 
> > > нужно сделать конфигуpиpуемым, потому как мне не нpавится один способ, а вам - 
> > > втоpой.
> > Думаю, что это многим подойдет, если появится такая опция. 
> 
> Совсем вы запутали бедного Алекса :)
> Исследование сначала mod_rewrite, а потом всех прочих исходных текстов
> показало, что для наших задач r->uri и r->unparsed_uri - совершенно
> одинаковы.
> 
> Дело в том, что модули _не_переписывают_ uri, а переписывают filename
> И стадия эта называется uri2filename translation :)
> 
> Я уж думал, что с ума схожу. Пишу
> RewriteRule /zzz/(.*) /$1
> а получаю, что в Auto-Redirect попадает все-равно оригинальный URI.
> 
> Так что проехали, все тут нормальной и в редирект попадает именно 
> оригинальный URL, как ни печально.
??????
Проверяем:
В RUSSIAN_APACHE_DEBUG добавляем unparsed_uri:

#ifdef RUSSIAN_APACHE_DEBUG

  ap_log_error
    (APLOG_MARK,APLOG_DEBUG,r->server,
     "Entering mod-charset handler, URI: %s (%s) FILENAME: %s ARGS: %s PATH_INFO: %s MIMETYPE: %s FLAGS: SUBREQ: %s",
     r->uri,r->unparsed_uri,r->filename,r->args,r->path_info,r->content_type?r->content_type:ap_default_type(r),
     r->main?"YES":"NO");
#endif

в httpd.conf:

RewriteRule ^/zzz/(.*)       /$1 [PT]


Запрос:

byrganov@sky:~/ 131> http-test http://www.inp.nsk.su:8880/zzz/rdoc
---------------------------------------------------------------------
Connected to www.inp.nsk.su on 8880
HEAD /zzz/rdoc HTTP/1.0
Connection: close
User-Agent: Mozilla/3.01 (X11; I; IRIX64 6.5 IP19)
Host: www.inp.nsk.su:8880
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*

HTTP/1.1 302 Found
Date: Wed, 17 Feb 1999 05:41:49 GMT
Server: Apache/1.3.4 (Unix) rus/PL28.3
Location: http://www.inp.nsk.su/rus/rdoc
Connection: close
Content-Type: text/html
---------------------------------------------------------------------
А должен быть Location: http://www.inp.nsk.su:8880/rus/zzz/rdoc
смотрим лог:

httpd: [Wed Feb 17 11:41:49 1999] [debug] mod_charset.c(2415): Entering mod-charset handler, URI: /rdoc (/zzz/rdoc) FILENAME: /usr2/65irix/Apache/htdocs/rdoc ARGS: (null) PATH_INFO:  MIMETYPE: httpd/unix-directory FLAGS: SUBREQ: NO
httpd: [Wed Feb 17 11:41:49 1999] [debug] mod_charset.c(1255): Entering rewrite_url, URI: /rdoc (/zzz/rdoc), redirect: (null) 0 /rus/
httpd: [Wed Feb 17 11:41:49 1999] [debug] mod_charset.c(1271): rewrite_url: user: NULL, path: /rdoc
httpd: [Wed Feb 17 11:41:49 1999] [debug] mod_charset.c(1289): rewrite_url: new path: /rus/rdoc, port 0
httpd: [Wed Feb 17 11:41:49 1999] [debug] mod_charset.c(1301): rewrite_url: redirect to: http://www.inp.nsk.su/rus/rdoc


Тоже самое и для 
RewriteRule ^/rus/(.*)       /$1 [PT,E=FORCE_CHARSET:koi8-r,L]
CharsetAutoRedirect koi8-r   /rus
---------------------------------------------------------------------
byrganov@sky:~/ 133> http-test http://www.inp.nsk.su:8880/rus/rdoc
Connected to www.inp.nsk.su on 8880
HEAD /rus/rdoc HTTP/1.0
Connection: close
User-Agent: Mozilla/3.01 (X11; I; IRIX64 6.5 IP19)
Host: www.inp.nsk.su:8880
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*

HTTP/1.1 302 Found
Date: Wed, 17 Feb 1999 05:47:38 GMT
Server: Apache/1.3.4 (Unix) rus/PL28.3
Location: http://www.inp.nsk.su/rus/rdoc
Connection: close
Content-Type: text/html
---------------------------------------------------------------------
а должен быть сам документ.

Это все для версии 28.3, без моих правок uri.
Если же сделать все как говорилось раньше, то и FORCE_CHARSET можно 
будет убрать.



-- 
                      С наилучшими пожеланиями, Евгений Бырганов.
                      Best regards, Eugene Byrganov.

  mailto:E.B.Byrganov@inp.nsk.su
  work - http://www.inp.nsk.su/





Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"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.