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] CGI redirector vs. mod_rewrite




> Вот я тут попробовал сделать 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 ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ 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.