> > charset. Т.е. обращение к /dir/ обычно выливается в request к /dir/
> > и subrequest к /dir/index.html. С моим кодом уже обращение к /dir/
> > (где никакого языка еще нет) приводит к редиректу если он включен.
> > Можно переделать, скажите как
> Мне кажется, что логичней это делать после того как принято решение
> об добавлении charset в Content-Type, если же нет, то и Redirect не нужен.
Окончательное решение о добавлении charset принимается, когда уже поздно
- код операции уже известен.
> К сожалению, мой любимый способ удаления dirprefix не работает.
>
> После:
> RewriteRule ^/rus/(.*) /$1 [PT,E=FORCE_CHARSET:koi8-r,L]
Я сразу не въехал в вашу проблему. Теперь въехал. У вас происходит
автоматический (internal) redirect к _одному_ URL, которыый, вдобавок
кэшируется т.к. кодировка выбирается через FORCE_CHARSET
Задача CharsetAutoRedirect полностью обратная - раскидать пользователей,
пришедших на один URL (без кэширования) на _разные_ URL-и (с кэшированием).
Для вашего сетапа AutoRedirect во-первых не нужен, а во-вторых невозможен
(т.к. он оринетирован на конструкцию разные кодировки - разные URL).
Как вариант, можно предложить такое решение - оставить RewriteRule
для определения кодировки по заданному пользователем URL, и раскидивать
через AutoRedirect уже по портам.
Вдогонку. Задать номер порта просто как ...AutoRedirect koi8-r 8080
нельзя, в 28.1 я сделаю эту возможность как AutoRedirect koi8-r :8080
Ну и в процессе написания этого письма я понял, что если в AutoRedirect
задан префикс директории, то с URL типа /~user/ это будет неправильно
работать. Кстати, ваше rewriterule тоже на них будет обламываться :)
Alex
"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.