> Вот я тут попробовал сделать Redirect с URL с автоматическим
> определением кодировки на URL с кодировкой клиента (перекодировка
> по портам) с помощью mod_rewrite. Вроде, оно даже работает :) -
> всех, кто приходит на http://www.y.z[:80]/a/b/c апач отправляет
> на http://www.y.z:810x/a/b/c. Для https не проверял, но тоже
> должно работать.
>
Я попробовал подключить этот конфиг, и выяснил следующее:
Во-первых, в предпоследней строчке (.+)/(.*) не хватает, надо (.+)/:(.*),
иначе он почему-то чего-то не то матчит и оставляет :8xxxx в URL в пути,
вместо того, чтобы сделать портом.
Во вторых, redirect почему-то идет на http://server:8xxx///URL, с 2
лишними слешами (вероятно, появляются от 3-го рула). Поэтому, использую
(.+)/:(.*)// - тогда все ОК. Но появляется еще одна проблема: URL типа
http://server////URL (т.е. несколько лишних слешей в начале) вообще
перестают работать, что с портом, то и без (т.е. порт добавляется
нормально, а потом начинается катавасия). Причем перестают работать
следующим образом:
(2) [per-dir /home/lishka/test/] rewrite /home/lishka//test/ -> /home/lishka//test/
(2) [per-dir /home/lishka/test/] rewrite /home/lishka//test// -> /home/lishka//test//
(2) forcing '/home/lishka//test//' to get passed through to next API URI-to-filename handler
(2) [per-dir /home/lishka/test/] strip document_root prefix: /home/lishka//test// -> //test//
(1) [per-dir /home/lishka/test/] internal redirect with //test// [INTERNAL REDIRECT]
Таким образом добавился один '/' в конце. И так Apache продолжает до
посинения, каждый раз приписывая '/' в конце. Посколько без rewrite такого
не происходит, собака явно порылась где-то в этих 12 строках, но где -
понять не могу :(( Возможно, дело в том, что я пробовал это в отдельном
каталоге, а надо - на всем сервере?
--
frodo@sharat.co.il \/ There shall be counsels taken
Stanislav Malyshev /\ Stronger than Morgul-spells
phone +972-2-6245112 /\ JRRT LotR.
http://sharat.co.il/frodo/ whois:!SM8333
"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.