выключить try_files перед рерайтом

Peter Vereshagin peter на vereshagin.org
Вт Янв 4 12:29:58 MSK 2011


You know St. Peter won't call my name, nginx-ru!

Хочется чтобы / отдавал index.ru.html  если страна RU, а для остальных ---
index.en.html .
Такая конструкция некрасивая и наверняка неправильная:
===
location / {
    root   /var/www/vo/www;
    if ( $geo = 'RU' ){
        rewrite ^(.+(?<!\...))\.html $1.ru.html break;
    }
    if ( $geo != 'RU' ){
        rewrite ^(.+(?<!\...))\.html $1.en.html break;
    }
}
===

но даже так имеем:
===
[error] 45591#0: *95150 directory index of "/var/www/vo/www/" is forbidden
===

ровно до тех пор пока не создадим пустой index.html.

Получается решщение неправильное сразу в двух проекциях. Третью видит юзер и
ему всё равно. А мне --- нет.
Правильно --- как?

через встроенный perl неохота --- из пушки по воробьям, да и не умеет он у меня
perl_set $somvar "sub{ ... }"; получается всё равно избыточно файл с модулем
городить.

73! Peter pgp: A0E26627 (4A42 6841 2871 5EA7 52AB  12F8 0CE1 4AAC A0E2 6627)
--
http://vereshagin.org



Подробная информация о списке рассылки nginx-ru