the “alias” directive must use captures + оптимизация конфига
Nick Knutov
mail на knutov.com
Ср Янв 27 00:30:12 MSK 2010
Приветствую всех,
А кто-нибудь может сказать, зачем именно 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