> > > Во-во. Для всех внут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" 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.