Alex Tutubalin wrote:
>
> > Во вторых, redirect почему-то идет на http://server:8xxx///URL, с 2
> > лишними слешами (вероятно, появляются от 3-го рула). Поэтому, использую
> > (.+)/:(.*)// - тогда все ОК. Но появляется еще одна проблема: URL типа
> > http://server////URL (т.е. несколько лишних слешей в начале) вообще
> > перестают работать, что с портом, то и без (т.е. порт добавляется
> Ну тут надо поступить как в сендмейле - сначала нормализовать URL
> т.е. убрать сдвоенные слеши до знака вопроса. Вообще, как эта штука
В апачьих доках где-то говорилось, что так делать нельзя.
Ага, вот оно, в описании <Location>:
Apache 1.3 and above note about / (slash): The slash character has
special meaning depending on where in a URL it appears. People may be
used to its behaviour in the filesystem where multiple adjacent slashes
are frequently collapsed to a single slash (i.e., /home///foo is the same
as /home/foo). In URL-space this is not necessarily true.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Но там все равно не в этом дело. Просто при per-directory configuration
mod_rewrite добавляет значение PATH_INFO в конец строки, которой делается
match. Вариант для этого случая я уже выслал.
> поведет себя с query-strings а также с URL-ями с extra-path для меня
> загадка
Здесь не должно быть проблем.
--
Vladimir Pastukhov <vol@escortcorp.com>
"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.