server_name & location captures
Sergey Skvortsov
skv at protey.ru
Wed Oct 21 19:04:58 MSD 2009
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 at 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 at protey.ru
More information about the nginx-ru
mailing list