ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

the ?alias? directive must use captures + о птимизация конфига


  • To: nginx-ru@xxxxxxxxx
  • Subject: the ?alias? directive must use captures + о птимизация конфига
  • From: Nick Knutov <mail@xxxxxxxxxx>
  • Date: Wed, 27 Jan 2010 02:30:12 +0500

Приветствую всех,

А кто-нибудь может сказать, зачем именно the ?alias? directive must use captures inside location given by regular expression? Почему нельзя сделать локейшен с регекспом, но внутри ничего из регекспа не использовать?

И заодним - чтобы обрабатывать интернал редиректы в статику, но статику никогда не отдавать апачу - приходится делать тафталогию в конфиге.

Нельзя ли это как-то оптимизировать и упростить?

location / {
        proxy_pass          http://127.0.0.2:80;
        [...]
}

location /internal_xxx/ {
        alias /home/***/www/***/;
        internal;
}
location ~* ^/internal_xxx/(.+\.(?:jpg|jpeg|gif|png|txt))$ {
        alias /home/***/www/***/$1;
        internal;
}

location ~* ^.+\.(jpg|jpeg|gif|png|txt)$ {
        root /home/***/www/***;
        expires 1d;
}

Последний локейшен нужен чтобы обрабатывать статику не отправляя её апачу из первого локейшена, а второй интернал локейшен нужен чтобы правильно отдавалась статика если был сделан интернал редирект на нее. Если этот локейшен убрать - к пути добавляется internal_xxx/, всё это попадает в последний локейшн и 404.


--
Best Regards,
Nick Knutov
http://knutov.com
ICQ: 272873706
Voice: +7-904-84-23-130

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.