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

Вадим Лазовский lvm на citylink-rk.ru
Вт Янв 4 12:40:49 MSK 2011


04.01.2011 12:29, Peter Vereshagin пишет:
> 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 mailing list
> nginx-ru на nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
Здравствуйте.

map $geo $lang  {
     RU ru;
     default en;
}

...

location / {
     index index.$lang.html;
     ...
}



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