Всем привет,
да-а-авно не смотрел на RA, а тут глянул: CharsetAutoRedirect -- мечта
последних 2 лет -- никаких index.cgi и копания в mod_rewrite. Однако в
рекомендуемой конфигурации для случая действительно разных серверов:
Listen 80
Listen 8100
Listen 8101
CharsetByPort koi8-r 8100
CharsetByPort windows-1251 8101
CharsetAutoRedirect koi8-r :8100
CharsetAutoRedirect windows-1251 :8101
CharsetSelectionOrder Portnumber Useragent
<VirtualHost domain1:*>
...
</VirtualHost>
<VirtualHost domain2:*>
...
</VirtualHost
не удается реализовать такую деталь: если при обращении по основному 80-му
порту не распознается кодировка клиента (ну, нет у него ни Accept/Language/
/Charset, ни подходящего User-Agent -- очередной спайдер или netcat пришел),
то нужно просто отдать ему некэшируемый документ без каких бы то ни было
перекодирований, meta-strip, редиректов и т.д.
У меня такая конфигурация свежескомпилированных RA на Linux/FreeBSD выдает
'Location: ... 8100', а при отключении 'CharsetSelectionOrder koi8-r ...' --
'Location: ... 8101'. Очевидно, что указание в <VirtualHost ...:80> директивы
BrowserMatch htdig CHARSET_NOREDIRECT
не годится -- учесть можно только конкретных именованых клиентов, а
CharsetDisable
отключает всю интеллектуальность вообще.
Содержательный смысл -- не показывать спайдерам альтернативные URL, а отдать
им в том виде, как лежит на диске. Это вообще возможно? Может, кто примером
поделится?
--
Denis Golovenko
Zelenograd,Moscow,Russia
"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.