Re: Реврайт по имени сервера

Johnatan Nevermind nginx-forum на nginx.us
Пт Мар 19 11:15:51 MSK 2010


Извернулся так. Теперь для каждого запроса в переменную падает хост разбитый по 2м символам.


    perl_modules  perl/lib;

    perl_set $splitted_host  '
        sub {
            my $r = shift;
            my $host = $r->header_in("Host");
            my $charsSectionLength = 2;

            ($host) = ($host =~ m/^(?:www\.)?([^:]+)(?:\:\d+)?$/);
            $host =~ s/(\.)/_/;

            my $bits = join "/", ( $host =~ /.{1,$charsSectionLength}/gs );

            return $bits;
        }

    ';

   ......

server {
        listen       80;
        server_name _;
        server_name_in_redirect off;

.......

         location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
            root /long/path/to/static/content/root/$splitted_host/;
        }


Posted at Nginx Forum: http://forum.nginx.org/read.php?21,64625,65524#msg-65524




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