Локаль apache и условия mod_rewrite

surg30n

Новичок
Есть движок, который генерит статику (кэш для анонимусов)

Для отдачи такой статики используется мод-реврайт, примерно так:

PHP:
# static 
RewriteCond %{DOCUMENT_ROOT}/static/%{HTTP_HOST}/%{REQUEST_URI} -f
RewriteRule ^(.*) /static/%{HTTP_HOST}/$1 [L]     

RewriteCond %{DOCUMENT_ROOT}/static/%{HTTP_HOST}/%{REQUEST_URI} -d
RewriteCond %{DOCUMENT_ROOT}/static/%{HTTP_HOST}/%{REQUEST_URI}/index.html -f 
RewriteRule ^(.*) /static/%{HTTP_HOST}/$1 [L]
так вот урлы на сайте содержащие кириллицу при сохранении в имени файла содержат русские символы.
Под виндой используя конверт в имен в СР-1251, мод-реврайт успешно находит путь по урлу.

Имеем сервер на freebsd 6. Внимание вопрос:
Как для апача задать локаль, чтобы файлы с именами в cp1251 виделись в кондишенах мод-реврайта?

Пробовал перед запуском указать export LANG=ru_RU.CP1251, эффекта нет.
 

surg30n

Новичок
А причем тут defaultcharset? он на выдачу только должен влиять.

У меня ситуация такая: урл вида

http://host.local/двигатель/фильтр/

мапится на путь файловой системы

/www/host.local/static/двигатель/фильтр/index.html

Проблема в том что во freebsd не срабатывает проверка RewriteCond на существование файла
с русскими буквами.
 

surg30n

Новичок
Вообщем, справился.
По логам мод реврайта увидел, что он ищет пути к файлам в UTF-8

PHP:
[test.local/sid#815bdd8][rid#8317058/initial] (3) [perdir /www/test.local/htdocs/] add path info postfix: /www/test.local/htdocs/двигатель -> /www/test.local/htdocs/двигатель/
[test.local/sid#815bdd8][rid#8317058/initial] (3) [perdir /www/test.local/htdocs/] strip per-dir prefix: /www/test.local/htdocs/двигатель/ -> двигатель/
[test.local/sid#815bdd8][rid#8317058/initial] (3) [perdir /www/test.local/htdocs/] applying pattern '^(.*)index\.(php|html)$' to uri 'двигатель/'
Заработало с именами статичных файлов в UTF.
 
Сверху