>> RewriteRule /uri http://back/uri [P]
>> Одним из возможных решений видится что-то вроде:
>> RewriteRule /uri http://back/uri [P,E:DISABLE_CHARSET=1]
>> Т.е. если бы mod_charset умел отключаться при наличии переменной
>> окружения DISABLE_CHARSET, это бы нас спасло. Нас также спасло бы,
>> если бы mod_accel имел какую-либо директиву, отключающую перекодировку
>> контента, полученного от backend-а.
AT> А почему не написать CharsetDisable On для тех URL-ей
AT> для которых написан rewriterule ?
В данном конкретном случае там сложный набор RewriteCond-ов с
RiwriteRule, так что только по <Location> проблему не решить.
AT> Второй вариант - ходить акселератором на такой hostname/port
AT> backend-А на котором включена перекодировка "по портам"(по хосту),
AT> на этом порту-хосту нужно еще выключить работу с AcceptCharset
Увы, и это в нашем кривом случае не работает. Дело в том, что
SourceCharset на frontend-е в точке срабатывания RewriteRule может
быть разным. Соответственно надо, чтобы именно front не
перекодировал...
Хотя, вероятно, можно сделать что-то вроде:
RewriteRule /uri http://back:XXX/uri [P,E:FORCE_SOURCE_CHARSET=koi8-r]
А на backend-е открыть дополнительный порт XXX, по которому
всегда будет отдаваться только в koi8-r. Спасибо за идею!
Однако, как на счет добавления обработки переменной DISABLE_CHARSET в
дополнение к FORCE_CHARSET и FORCE_SOURCE_CHARSET? В особо трубных
случаях может быть удобно, а добавить такую обработку, насколько я
понимаю, особой сложности быть не должно.
=============================================================================
= Apache-Rus@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-rus" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://apache.lexa.ru/mail-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.