Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: server_name & location captures
On 21.10.2009 18:17, Igor Sysoev wrote:
> Есть идея для выделений в server_name и location использовать специальные
> имена %N и @N:
>
> server {
> server_name ~^(\w+)\.intrasearch\.(.+)$;
> root /usr/local/www/intrasearch-dev/%1;
>
> location ~ ^/~user(/[^/]+)(.+)$ {
> alias /homes/@1/public_html@2;
А почему бы не использовать named captures? Которые есть в свежих
версиях PCRE.
Т.е. named capture вида (?<foobar>) сделать доступным через переменную
вида $regex_foobar (или каноничным $+{foobar}).
Скажем:
server {
server_name ~^(?<host_prefix>\w+)\.intrasearch\.(.+)$;
root /usr/local/www/intrasearch-dev/$regex_host_prefix;
location ~ ^/~user(?<username>/[^/]+)(?<rest>.+)$ {
alias /homes/$regex_username/public_html$regex_rest;
--
Sergey Skvortsov
mailto: skv@xxxxxxxxx
|