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]

[apache-rus] 'StrongRedirect' feature (1)



Привет,

на ftp://ftp.lexa.ru/pub/apache-rus/strong_redirect_26.1.diff
лежит патч, который обеспечивает нижеописанную функциональность.
Критиковать можно прямо в mailing list, автор патча на него подписан.
Моя критика - следующим письмом.

Alex
=============
Здравствуйте, Алексей!

Я тут написал патч к Russian Apache 1.3.1rusPL25.10 , который занимается
следующим:
при соответствующей конфигурации
1) если кодировка определена из Hostname/URL/Port (т.н. "сильные
критерии"), то отдает документ в требуемой кодировке
2) если кодировка определена из каких-то других соображений (UserAgent,...
- т.н. "слабые критерии"), то соответственно с маской (о ней-чуть ниже) и
установленной кодировкой делается редирект.

Маска: строка символов, в которые при редиректе
 %h заменяется на имя хоста (кусок r->server->server_hostname до точки)
 %d - на имя домена (все остальное)
 %p - на порт, соответствующий данной кодировке (если такой найдется)
 %c - на самый короткий алиас кодировки (koi для koi8-r и т.п.)

Заполненная маска вставляется между http(s):// и r->uri

Например, при маске %h%c.%d:%p/dir%c и запросе www.abc.spb.ru/index.html
(конфигурация - из поставки) редирект будет сделан на

http://wwwkoi.abc.spb.ru:8100/dirkoi/index.html

Правильность редиректа - на совести администратора.

Кроме того, введено еще несколько features;

1. Кодировка может встречаться не только в начале проверяемой строки, но
где угодно до символа из delim. (Замечание: если кодировка стоит в начале,
то все должно работать так же быстро, как и обычно)
2. charset_from_hostname, если r->hostname не NULL, пытается определить
кодировку из его. Я приделал это чисто для удобства, чтобы не писать
VirtualHost отдельно для всех кодировок, а написать просто один
ServerAlias
> From A.T: эту правку я уже вставил в PL26.1 и в патче ее уже нет

Конфигурация:

CharsetStrongRedirect On/Off
CharsetStrongRedirectMask <string> # default "%h%c.%d"

Примечания:
Философия и терминология взяты с http://www.csa.ru/CSA/CyrModules/

С уважением,
Антон Лухт,
luht@wplus.net






Спонсоры сайта:

[ 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.